[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] [21027] Improvements / fixes and new features for pro
From: |
Sigurd Nes |
Subject: |
[Phpgroupware-cvs] [21027] Improvements / fixes and new features for property 4686:4746 |
Date: |
Sun, 07 Feb 2010 10:47:13 +0000 |
Revision: 21027
http://svn.sv.gnu.org/viewvc/?view=rev&root=phpgroupware&revision=21027
Author: sigurdne
Date: 2010-02-07 10:47:13 +0000 (Sun, 07 Feb 2010)
Log Message:
-----------
Improvements / fixes and new features for property 4686:4746
Modified Paths:
--------------
people/sigurdne/modules/property/trunk/inc/class.bocommon.inc.php
people/sigurdne/modules/property/trunk/inc/class.bomigrate.inc.php
people/sigurdne/modules/property/trunk/inc/class.botts.inc.php
people/sigurdne/modules/property/trunk/inc/class.custom_fields.inc.php
people/sigurdne/modules/property/trunk/inc/class.menu.inc.php
people/sigurdne/modules/property/trunk/inc/class.soXport.inc.php
people/sigurdne/modules/property/trunk/inc/class.soactor.inc.php
people/sigurdne/modules/property/trunk/inc/class.soagreement.inc.php
people/sigurdne/modules/property/trunk/inc/class.socategory.inc.php
people/sigurdne/modules/property/trunk/inc/class.socommon.inc.php
people/sigurdne/modules/property/trunk/inc/class.sodocument.inc.php
people/sigurdne/modules/property/trunk/inc/class.soentity.inc.php
people/sigurdne/modules/property/trunk/inc/class.soevent.inc.php
people/sigurdne/modules/property/trunk/inc/class.sogab.inc.php
people/sigurdne/modules/property/trunk/inc/class.soinvestment.inc.php
people/sigurdne/modules/property/trunk/inc/class.soinvoice.inc.php
people/sigurdne/modules/property/trunk/inc/class.solocation.inc.php
people/sigurdne/modules/property/trunk/inc/class.sopricebook.inc.php
people/sigurdne/modules/property/trunk/inc/class.soproject.inc.php
people/sigurdne/modules/property/trunk/inc/class.soresponsible.inc.php
people/sigurdne/modules/property/trunk/inc/class.sostandard_3.inc.php
people/sigurdne/modules/property/trunk/inc/class.sotemplate.inc.php
people/sigurdne/modules/property/trunk/inc/class.sotenant_claim.inc.php
people/sigurdne/modules/property/trunk/inc/class.sotts.inc.php
people/sigurdne/modules/property/trunk/inc/class.soworkorder.inc.php
people/sigurdne/modules/property/trunk/inc/class.uievent.inc.php
people/sigurdne/modules/property/trunk/inc/class.uiproject.inc.php
people/sigurdne/modules/property/trunk/inc/class.uitts.inc.php
people/sigurdne/modules/property/trunk/inc/cron/default/export_info_as_files.php
people/sigurdne/modules/property/trunk/inc/cron/default/import_files.php
people/sigurdne/modules/property/trunk/inc/cron/default/import_from_scanner.php
people/sigurdne/modules/property/trunk/inc/cron/default/oppdater_antall_leieobjekt.php
people/sigurdne/modules/property/trunk/inc/cron/default/oppdater_namssakstatus_pr_leietaker.php
people/sigurdne/modules/property/trunk/inc/cron/default/organize_drawing.php
people/sigurdne/modules/property/trunk/inc/cron/default/update_googlemap.php
people/sigurdne/modules/property/trunk/inc/hook_home.inc.php
people/sigurdne/modules/property/trunk/setup/phpgw_no.lang
people/sigurdne/modules/property/trunk/setup/setup.inc.php
people/sigurdne/modules/property/trunk/setup/tables_current.inc.php
people/sigurdne/modules/property/trunk/setup/tables_update.inc.php
people/sigurdne/modules/property/trunk/templates/base/event_form.xsl
people/sigurdne/modules/property/trunk/templates/base/tts.xsl
people/sigurdne/modules/property/trunk/tutorials/property/examples/install.apache.sh
Modified: people/sigurdne/modules/property/trunk/inc/class.bocommon.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.bocommon.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.bocommon.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -889,6 +889,13 @@
'id' =>
isset($event['value']) && $event['value'] ? $event['value'] : '')
);
+ $event['event_link'] =
"{menuaction:'property.uievent.edit',"
+
."location:'{$data['location']}',"
+
."attrib_id:'{$event['name']}'";
+ $event['event_link'] .= isset($event['item_id']) ?
",item_id:{$event['item_id']}" : '';
+ $event['event_link'] .= isset($event['value']) ?
",id:{$event['value']}" : '';
+ $event['event_link'] .= '}';
+
$event['function_name'] = 'lookup_'. $event['name']
.'()';
return $event;
@@ -1504,9 +1511,7 @@
$socategory = CreateObject('property.socategory');
- $categories=
$socategory->select_category_list(array('type'=>$data['type'],
-
'type_id'=>(isset($data['type_id'])?$data['type_id']:''),
-
'order' =>$data['order']));
+ $categories= $socategory->get_list($data);
return
$this->select_list($data['selected'],$categories);
}
Modified: people/sigurdne/modules/property/trunk/inc/class.bomigrate.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.bomigrate.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.bomigrate.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -156,7 +156,7 @@
function copy_data($table_def = array())
{
$db = $GLOBALS['phpgw']->db;
- $db->fetchmode = 'ASSOC';
+
foreach ($table_def as $table => $fd)
{
if($table=='fm_ecobilagoverf' || $table==
'phpgw_lang')
Modified: people/sigurdne/modules/property/trunk/inc/class.botts.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.botts.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.botts.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -281,8 +281,9 @@
function read($start_date='',$end_date='',
$external='',$dry_run = '', $download = '')
{
- $category_name = array();
- $account = array();
+ static $category_name = array();
+ static $account = array();
+ static $vendor_cache = array();
$interlink = CreateObject('property.interlink');
$start_date =
$this->bocommon->date_to_timestamp($start_date);
@@ -296,7 +297,10 @@
if(!$external)
{
$entity = $this->get_origin_entity_type();
-// $this->uicols_related =
$this->so->uicols_related;
+ $contacts =
CreateObject('property.soactor');
+ $contacts->role='vendor';
+ $custom =
createObject('property.custom_fields');
+ $vendor_data['attributes'] =
$custom->find('property','.vendor', 0, '', 'ASC', 'attrib_sort', true, true);
}
else
{
@@ -383,6 +387,29 @@
$ticket['child_date'][$j]['statustext'] =
$interlink->get_relation_info(array('location' => $entity[$j]['type']),
$ticket['child_date'][$j]['date_info'][0]['target_id']);
}
}
+ if( $ticket['vendor_id'])
+ {
+
if(isset($vendor_cache[$ticket['vendor_id']]))
+ {
+ $ticket['vendor'] =
$vendor_cache[$ticket['vendor_id']];
+ }
+ else
+ {
+ $vendor_data =
$contacts->read_single($ticket['vendor_id'],$vendor_data);
+ if($vendor_data)
+ {
+
foreach($vendor_data['attributes'] as $attribute)
+ {
+
if($attribute['name']=='org_name')
+ {
+
$vendor_cache[$ticket['vendor_id']]=$attribute['value'];
+
$ticket['vendor'] = $attribute['value'];
+ break;
+ }
+ }
+ }
+ }
+ }
}
}
Modified: people/sigurdne/modules/property/trunk/inc/class.custom_fields.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.custom_fields.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.custom_fields.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -229,16 +229,23 @@
unset($id);
unset($job);
}
+
$insert_record_values[]
= $attributes['name'];
- $lookup_link
= $GLOBALS['phpgw']->link('/index.php',array(
- 'menuaction' =>
$this->_appname.'.uievent.edit',
- 'location' =>
$location,
- 'attrib_id' =>
$attributes['id'],
- 'item_id' =>
isset($attributes['item_id']) ? $attributes['item_id'] : '',
- 'id' =>
isset($attributes['value']) && $attributes['value'] ? $attributes['value'] :
''));
$lookup_functions[$m]['name'] =
'lookup_'. $attributes['name'] .'()';
- $lookup_functions[$m]['action'] =
'Window1=window.open('."'" . $lookup_link ."'"
.',"Search","width=800,height=500,toolbar=no,scrollbars=yes,resizable=yes");';
+
+ $lookup_functions[$m]['action'] = "var
oArgs = {menuaction:'{$this->_appname}.uievent.edit',"
+
."location:'{$location}',"
+
."attrib_id:'{$attributes['id']}'";
+ $lookup_functions[$m]['action'] .=
isset($attributes['item_id']) && $attributes['item_id'] ?
",item_id:{$attributes['item_id']}" : '';
+ $lookup_functions[$m]['action'] .=
isset($attributes['value']) && $attributes['value'] ?
",id:{$attributes['value']}" : '';
+ $lookup_functions[$m]['action'] .=
"};\n";
+ $lookup_functions[$m]['action'] .=
"if(document.form.{$attributes['name']}.value)\n";
+ $lookup_functions[$m]['action'] .=
"{\n";
+ $lookup_functions[$m]['action'] .=
"oArgs['id'] = document.form.{$attributes['name']}.value;";
+ $lookup_functions[$m]['action'] .=
"}\n";
+ $lookup_functions[$m]['action'] .= "var
strURL = phpGWLink('index.php', oArgs);\n";
+ $lookup_functions[$m]['action'] .=
'Window1=window.open(strURL,"Search","width=800,height=500,toolbar=no,scrollbars=yes,resizable=yes");';
$m++;
}
else if (isset($entity['attributes'][$i]) &&
$entity['attributes'][$i]['datatype']!='I' &&
$entity['attributes'][$i]['value'])
Modified: people/sigurdne/modules/property/trunk/inc/class.menu.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.menu.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.menu.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -394,6 +394,11 @@
'text' => lang('Request
condition_type'),
'url' =>
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'property.uicategory.index', 'type' => 'r_condition_type') )
),
+ 'order_dim1' => array
+ (
+ 'text' =>
lang('order_dim1'),//translation have to refeflect the (local) meaning
+ 'url' =>
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'property.uicategory.index', 'type' => 'order_dim1') )
+ ),
'workorder_status' => array
(
'text' => lang('Workorders
status'),
Modified: people/sigurdne/modules/property/trunk/inc/class.soXport.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.soXport.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.soXport.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -197,9 +197,9 @@
function check_spbudact_code($id)
{
- $this->db->query("select count(*) from fm_b_account
where id='$id'");
+ $this->db->query("select count(*) as cnt from
fm_b_account where id='$id'");
$this->db->next_record();
- return $this->db->f(0);
+ return $this->db->f('cnt');
}
function add($buffer)
Modified: people/sigurdne/modules/property/trunk/inc/class.soactor.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.soactor.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.soactor.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -1,57 +1,56 @@
-<?php
- /**
- * phpGroupWare - property: a Facilities Management System.
- *
- * @author Sigurd Nes <address@hidden>
- * @copyright Copyright (C) 2003,2004,2005,2006,2007 Free Software
Foundation, Inc. http://www.fsf.org/
- * This file is part of phpGroupWare.
- *
- * phpGroupWare is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * phpGroupWare is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with phpGroupWare; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
USA
- *
- * @license http://www.gnu.org/licenses/gpl.html GNU General Public
License
- * @internal Development of this application was funded by
http://www.bergen.kommune.no/bbb_/ekstern/
- * @package property
- * @subpackage admin
+<?php
+ /**
+ * phpGroupWare - property: a Facilities Management System.
+ *
+ * @author Sigurd Nes <address@hidden>
+ * @copyright Copyright (C) 2003,2004,2005,2006,2007 Free Software
Foundation, Inc. http://www.fsf.org/
+ * This file is part of phpGroupWare.
+ *
+ * phpGroupWare is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * phpGroupWare is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with phpGroupWare; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
USA
+ *
+ * @license http://www.gnu.org/licenses/gpl.html GNU General Public
License
+ * @internal Development of this application was funded by
http://www.bergen.kommune.no/bbb_/ekstern/
+ * @package property
+ * @subpackage admin
* @version $Id$
- */
-
- /**
- * Description
- * @package property
- */
-
- class property_soactor
- {
- var $role;
-
- function property_soactor()
- {
- $this->account =
$GLOBALS['phpgw_info']['user']['account_id'];
- $this->bocommon =
CreateObject('property.bocommon');
+ */
+
+ /**
+ * Description
+ * @package property
+ */
+
+ class property_soactor
+ {
+ var $role;
+
+ function property_soactor()
+ {
+ $this->account =
$GLOBALS['phpgw_info']['user']['account_id'];
+ $this->bocommon =
CreateObject('property.bocommon');
$this->custom =
createObject('property.custom_fields');
$this->db = & $GLOBALS['phpgw']->db;
-
$this->join = & $this->db->join;
$this->left_join = & $this->db->left_join;
$this->like = & $this->db->like;
- }
-
- function read($data)
- {
- if(is_array($data))
- {
+ }
+
+ function read($data)
+ {
+ if(is_array($data))
+ {
$start =
isset($data['start'])?$data['start']:0;
$filter = isset($data['filter']) &&
$data['filter'] ?$data['filter']:'none';
$query =
isset($data['query'])?$data['query']:'';
@@ -61,150 +60,150 @@
$allrows =
isset($data['allrows'])?$data['allrows']:'';
$member_id = isset($data['member_id']) &&
$data['member_id'] ? $data['member_id']:0;
$dry_run = isset($data['dry_run']) ?
$data['dry_run'] : '';
- }
-
- $sql = $this->bocommon->fm_cache('sql_actor_' .
$this->role);
-
- $entity_table = 'fm_' . $this->role;
- $category_table = 'fm_' . $this->role . '_category';
- $choice_table = 'phpgw_cust_choice';
- $attribute_table = 'phpgw_cust_attribute';
- $location_id =
$GLOBALS['phpgw']->locations->get_id('property', ".{$this->role}");
- $attribute_filter = " location_id = {$location_id}";
-
- if(!$sql)
- {
+ }
+
+ $sql = $this->bocommon->fm_cache('sql_actor_' .
$this->role);
+
+ $entity_table = 'fm_' . $this->role;
+ $category_table = 'fm_' . $this->role . '_category';
+ $choice_table = 'phpgw_cust_choice';
+ $attribute_table = 'phpgw_cust_attribute';
+ $location_id =
$GLOBALS['phpgw']->locations->get_id('property', ".{$this->role}");
+ $attribute_filter = " location_id = {$location_id}";
+
+ if(!$sql)
+ {
$cols_return = array();
$uicols = array();
- $cols = $entity_table .
".*,$category_table.descr as category";
-
- $cols_return[] = 'id';
- $uicols['input_type'][] = 'text';
- $uicols['name'][] = 'id';
- $uicols['descr'][] =
lang('ID');
- $uicols['statustext'][] = lang('ID');
+ $cols = $entity_table .
".*,$category_table.descr as category";
+
+ $cols_return[] = 'id';
+ $uicols['input_type'][] = 'text';
+ $uicols['name'][] = 'id';
+ $uicols['descr'][] =
lang('ID');
+ $uicols['statustext'][] = lang('ID');
$uicols['datatype'][] = false;
$uicols['attib_id'][] = false;
-
- $cols_return[] = 'id';
- $uicols['input_type'][] = 'hidden';
- $uicols['name'][] = 'id';
- $uicols['descr'][] = false;
- $uicols['statustext'][] = false;
+
+ $cols_return[] = 'id';
+ $uicols['input_type'][] = 'hidden';
+ $uicols['name'][] = 'id';
+ $uicols['descr'][] = false;
+ $uicols['statustext'][] = false;
$uicols['datatype'][] = false;
$uicols['attib_id'][] = false;
-
- $cols_return[] =
'category';
- $uicols['input_type'][] = 'text';
- $uicols['name'][] =
'category';
- $uicols['descr'][] =
lang('category');
- $uicols['statustext'][] =
lang('category');
+
+ $cols_return[] =
'category';
+ $uicols['input_type'][] = 'text';
+ $uicols['name'][] =
'category';
+ $uicols['descr'][] =
lang('category');
+ $uicols['statustext'][] =
lang('category');
$uicols['datatype'][] = false;
$uicols['attib_id'][] = false;
-
- $cols_return[] =
'entry_date';
- $uicols['input_type'][] = 'text';
- $uicols['name'][] =
'entry_date';
- $uicols['descr'][] =
lang('entry date');
- $uicols['statustext'][] = lang('entry
date');
+
+ $cols_return[] =
'entry_date';
+ $uicols['input_type'][] = 'text';
+ $uicols['name'][] =
'entry_date';
+ $uicols['descr'][] =
lang('entry date');
+ $uicols['statustext'][] = lang('entry
date');
$uicols['datatype'][] = false;
$uicols['attib_id'][] = false;
-
- $paranthesis .='(';
-
- $joinmethod .= " $this->join " . $entity_table
. "_category ON ( $entity_table" . ".category =" .$entity_table .
"_category.id))";
-
- $from .= " FROM $paranthesis $entity_table ";
-
- $sql = "SELECT $cols $from $joinmethod";
-
- $this->bocommon->fm_cache('sql_actor_' .
$this->role,$sql);
- $this->bocommon->fm_cache('uicols_actor_' .
$this->role,$uicols);
- $this->bocommon->fm_cache('cols_return_actor_'
. $this->role,$cols_return);
-
- }
- else
- {
- $uicols
= $this->bocommon->fm_cache('uicols_actor_'. $this->role);
- $cols_return
= $this->bocommon->fm_cache('cols_return_actor_' . $this->role);
- }
-
-
$user_columns=isset($GLOBALS['phpgw_info']['user']['preferences']['property']['actor_columns_'
.
$this->role])?$GLOBALS['phpgw_info']['user']['preferences']['property']['actor_columns_'
. $this->role]:'';
- $user_column_filter = '';
- if (isset($user_columns) AND is_array($user_columns)
AND $user_columns[0])
- {
- $user_column_filter = " OR ($attribute_filter
AND id IN (" . implode(',',$user_columns) .'))';
- }
-
- $this->db->query("SELECT * FROM $attribute_table WHERE
list=1 AND $attribute_filter $user_column_filter ORDER BY attrib_sort ASC");
-
- while ($this->db->next_record())
- {
- $uicols['input_type'][] = 'text';
- $uicols['name'][] =
$this->db->f('column_name');
- $uicols['descr'][] =
$this->db->f('input_text');
- $uicols['statustext'][] =
$this->db->f('statustext');
+
+ $paranthesis .='(';
+
+ $joinmethod .= " $this->join " . $entity_table
. "_category ON ( $entity_table" . ".category =" .$entity_table .
"_category.id))";
+
+ $from .= " FROM $paranthesis $entity_table ";
+
+ $sql = "SELECT $cols $from $joinmethod";
+
+ $this->bocommon->fm_cache('sql_actor_' .
$this->role,$sql);
+ $this->bocommon->fm_cache('uicols_actor_' .
$this->role,$uicols);
+ $this->bocommon->fm_cache('cols_return_actor_'
. $this->role,$cols_return);
+
+ }
+ else
+ {
+ $uicols
= $this->bocommon->fm_cache('uicols_actor_'. $this->role);
+ $cols_return
= $this->bocommon->fm_cache('cols_return_actor_' . $this->role);
+ }
+
+
$user_columns=isset($GLOBALS['phpgw_info']['user']['preferences']['property']['actor_columns_'
.
$this->role])?$GLOBALS['phpgw_info']['user']['preferences']['property']['actor_columns_'
. $this->role]:'';
+ $user_column_filter = '';
+ if (isset($user_columns) AND is_array($user_columns)
AND $user_columns[0])
+ {
+ $user_column_filter = " OR ($attribute_filter
AND id IN (" . implode(',',$user_columns) .'))';
+ }
+
+ $this->db->query("SELECT * FROM $attribute_table WHERE
list=1 AND $attribute_filter $user_column_filter ORDER BY attrib_sort ASC");
+
+ while ($this->db->next_record())
+ {
+ $uicols['input_type'][] = 'text';
+ $uicols['name'][] =
$this->db->f('column_name');
+ $uicols['descr'][] =
$this->db->f('input_text');
+ $uicols['statustext'][] =
$this->db->f('statustext');
$uicols['datatype'][] =
$this->db->f('datatype');
$uicols['attib_id'][] =
$this->db->f('id');
- }
-
- $this->uicols = $uicols;
-
- if ($order)
- {
- $ordermethod = " order by $entity_table.$order
$sort";
- }
- else
- {
- $ordermethod = " order by $entity_table.id
DESC";
- }
-
- $where= 'WHERE';
-
- $grants =
$GLOBALS['phpgw']->session->appsession('grants_' . $this->role ,'property');
-
- if(!$grants)
- {
- $this->acl = &
$GLOBALS['phpgw']->acl;
- $grants = $this->acl->get_grants('property','.'
. $this->role);
-
$GLOBALS['phpgw']->session->appsession('grants_' .
$this->role,'property',$grants);
- }
-
- $filtermethod = '';
- if (is_array($grants))
- {
- foreach($grants as $user => $right)
- {
- $public_user_list[] = $user;
- }
- reset($public_user_list);
- $filtermethod .= " $where (
$entity_table.owner_id IN(" . implode(',',$public_user_list) . "))";
- $where= 'AND';
- }
-
- if ($cat_id)
- {
- $filtermethod .= " $where
$entity_table.category='$cat_id' ";
- $where= 'AND';
- }
-
- if ($member_id>0)
- {
- $filtermethod .= " $where
$entity_table.member_of $this->like '%,$member_id,%' ";
- $where= 'AND';
- }
-
-/* if ($status)
- {
- $filtermethod .= " $where
$entity_table.status='$status' ";
- $where= 'AND';
- }
-*/
-
- $querymethod = '';
- $_querymethod = array();
- if($query)
- {
+ }
+
+ $this->uicols = $uicols;
+
+ if ($order)
+ {
+ $ordermethod = " order by $entity_table.$order
$sort";
+ }
+ else
+ {
+ $ordermethod = " order by $entity_table.id
DESC";
+ }
+
+ $where= 'WHERE';
+
+ $grants =
$GLOBALS['phpgw']->session->appsession('grants_' . $this->role ,'property');
+
+ if(!$grants)
+ {
+ $this->acl = &
$GLOBALS['phpgw']->acl;
+ $grants = $this->acl->get_grants('property','.'
. $this->role);
+
$GLOBALS['phpgw']->session->appsession('grants_' .
$this->role,'property',$grants);
+ }
+
+ $filtermethod = '';
+ if (is_array($grants))
+ {
+ foreach($grants as $user => $right)
+ {
+ $public_user_list[] = $user;
+ }
+ reset($public_user_list);
+ $filtermethod .= " $where (
$entity_table.owner_id IN(" . implode(',',$public_user_list) . "))";
+ $where= 'AND';
+ }
+
+ if ($cat_id)
+ {
+ $filtermethod .= " $where
$entity_table.category='$cat_id' ";
+ $where= 'AND';
+ }
+
+ if ($member_id>0)
+ {
+ $filtermethod .= " $where
$entity_table.member_of $this->like '%,$member_id,%' ";
+ $where= 'AND';
+ }
+
+/* if ($status)
+ {
+ $filtermethod .= " $where
$entity_table.status='$status' ";
+ $where= 'AND';
+ }
+*/
+
+ $querymethod = '';
+ $_querymethod = array();
+ if($query)
+ {
$query = $this->db->db_addslashes($query);
if(ctype_digit($query))
@@ -212,282 +211,282 @@
$_querymethod[]= "$entity_table.id =" .
(int)$query;
}
- $where= 'AND';
-
- $this->db->query("SELECT * FROM
$attribute_table WHERE $attribute_filter AND search='1'");
-
- while ($this->db->next_record())
- {
- if($this->db->f('datatype')=='V' ||
$this->db->f('datatype')=='email' || $this->db->f('datatype')=='CH'):
- {
- $_querymethod[]=
"$entity_table." . $this->db->f('column_name') . " $this->like '%$query%'";
- }
- elseif($this->db->f('datatype')=='I'):
- {
- if(ctype_digit($query))
- {
+ $where= 'AND';
+
+ $this->db->query("SELECT * FROM
$attribute_table WHERE $attribute_filter AND search='1'");
+
+ while ($this->db->next_record())
+ {
+ if($this->db->f('datatype')=='V' ||
$this->db->f('datatype')=='email' || $this->db->f('datatype')=='CH'):
+ {
+ $_querymethod[]=
"$entity_table." . $this->db->f('column_name') . " $this->like '%$query%'";
+ }
+ elseif($this->db->f('datatype')=='I'):
+ {
+ if(ctype_digit($query))
+ {
$_querymethod[]=
"$entity_table." . $this->db->f('column_name') . '=' . (int)$query;
- }
- }
- else:
- {
- $_querymethod[]=
"$entity_table." . $this->db->f('column_name') . " = '$query'";
- }
- endif;
- }
-
- if (isset($_querymethod) AND
is_array($_querymethod))
- {
- $querymethod = " $where (" . implode ('
OR ',$_querymethod) . ')';
- }
- }
-
- $sql .= " $filtermethod $querymethod";
-//echo $sql;
+ }
+ }
+ else:
+ {
+ $_querymethod[]=
"$entity_table." . $this->db->f('column_name') . " = '$query'";
+ }
+ endif;
+ }
+
+ if (isset($_querymethod) AND
is_array($_querymethod))
+ {
+ $querymethod = " $where (" . implode ('
OR ',$_querymethod) . ')';
+ }
+ }
+
+ $sql .= " $filtermethod $querymethod";
+//echo $sql;
$values = array();
if(!$dry_run)
{
- $this->db->query('SELECT count(*)' .
substr($sql,strripos($sql,'from')),__LINE__,__FILE__);
+ $this->db->query('SELECT count(*) as cnt ' .
substr($sql,strripos($sql,'from')),__LINE__,__FILE__);
$this->db->next_record();
- $this->total_records = $this->db->f(0);
- if(!$allrows)
- {
- $this->db->limit_query($sql .
$ordermethod,$start,__LINE__,__FILE__);
- }
- else
- {
- $this->db->query($sql .
$ordermethod,__LINE__,__FILE__);
- }
-
+ $this->total_records = $this->db->f('cnt');
+ if(!$allrows)
+ {
+ $this->db->limit_query($sql .
$ordermethod,$start,__LINE__,__FILE__);
+ }
+ else
+ {
+ $this->db->query($sql .
$ordermethod,__LINE__,__FILE__);
+ }
+
$cols_return = $uicols['name'];
- $j=0;
+ $j=0;
$dataset = array();
- while ($this->db->next_record())
- {
- foreach($cols_return as $key => $field)
+ while ($this->db->next_record())
{
+ foreach($cols_return as $key => $field)
+ {
$dataset[$j][$field] = array
(
'value' =>
$this->db->f($field),
'datatype' =>
$uicols['datatype'][$key],
'attrib_id' =>
$uicols['attib_id'][$key]
);
- }
- $j++;
}
+ $j++;
+ }
$values =
$this->custom->translate_value($dataset, $location_id);
return $values;
- }
+ }
return $values;
- }
-
- function read_single($actor_id, $values = array())
- {
- if(is_array($actor_id))
- {
- $actor_id = $actor_id['actor_id'];
- $bt = debug_backtrace();
- echo "<b>wrong call to soactor::" .
$bt[0]['function'] . "<br/>Called from file: " . $bt[0]['file'] . "<br/> line:
" . $bt[0]['line'] . '<br/>args: ' . print_r($bt[0]['args'][0],true) . '</b>';
- unset($bt);
- }
- $table = 'fm_' . $this->role;
-
- $this->db->query("SELECT * from $table where
id='$actor_id'");
-
- if($this->db->next_record())
- {
- $values['id'] =
(int)$this->db->f('id');
- $values['entry_date'] =
$this->db->f('entry_date');
- $values['cat_id'] =
$this->db->f('category');
- $values['member_of'] =
explode(',',$this->db->f('member_of'));
-
- if ( isset($values['attributes']) &&
is_array($values['attributes']) )
- {
- foreach ( $values['attributes'] as
&$attr )
- {
- $attr['value'] =
$this->db->f($attr['column_name']);
- }
- }
- }
- return $values;
- }
-
- function add($actor,$values_attribute='')
- {
- $table = 'fm_' . $this->role;
-
- if($actor['member_of'])
- {
- $actor['member_of']=',' .
implode(',',$actor['member_of']) . ',';
- }
-
- if(isset($actor['extra']) && is_array($actor['extra']))
- {
- foreach ($actor['extra'] as $input_name =>
$value)
- {
- if(isset($value) && $value)
- {
- $cols[] = $input_name;
- $vals[] = $value;
- }
- }
- }
-
- if (isset($values_attribute) AND
is_array($values_attribute))
- {
- foreach($values_attribute as $entry)
- {
- if($entry['value'])
- {
- if($entry['datatype']!='AB' &&
$entry['datatype']!='VENDOR' && $entry['datatype']!='user')
- {
- if($entry['datatype']
== 'C' || $entry['datatype'] == 'T' || $entry['datatype'] == 'V' ||
$entry['datatype'] == 'link')
- {
- $entry['value']
= $this->db->db_addslashes($entry['value']);
- }
-
- if($entry['datatype']
== 'pwd' && $entry['value'] && $entry['value2'])
- {
-
if($entry['value'] == $entry['value2'])
- {
- $cols[]
= $entry['name'];
- $vals[]
= md5($entry['value']);
- }
- else
- {
-
$receipt['error'][]=array('msg'=>lang('Passwords do not match!'));
- }
- }
- else
- {
- $cols[] =
$entry['name'];
- $vals[] =
$entry['value'];
- }
-
- if($entry['history'] ==
1)
- {
-
$history_set[$entry['attrib_id']] = $entry['value'];
- }
- }
- }
- }
- }
-
- if($this->role == 'vendor')
- {
- $cols[] = 'member_of';
- $vals[] = $actor['member_of'];
- }
-
- $cols[] = 'owner_id';
- $vals[] = $this->account;
-
- if($cols)
- {
- $cols = "," . implode(",", $cols);
- $vals = "," .
$this->bocommon->validate_db_insert($vals);
- }
-
- $this->db->transaction_begin();
- if($actor['new_actor_id'])
- {
- $id = $actor['new_actor_id'];
- }
- else
- {
- $id = $this->bocommon->next_id($table);
- }
-
- $this->db->query("INSERT INTO $table
(id,entry_date,category $cols) "
- . "VALUES ($id,'" . time() . "','" .
$actor['cat_id'] . "' $vals)");
-
- $receipt['actor_id']=
$id;//$this->db->get_last_insert_id($table,'id');
-
- $receipt['message'][] = array('msg'=>lang('actor %1 has
been saved',$receipt['actor_id']));
-
- $this->db->transaction_commit();
- return $receipt;
- }
-
- function edit($actor,$values_attribute='')
- {
-//_debug_array($actor);
-//_debug_array($values_attribute);
- $table = 'fm_' . $this->role;
-
- if($actor['member_of'])
- {
- $actor['member_of']=',' .
implode(',',$actor['member_of']) . ',';
- }
-
- if(isset($actor['extra']) && is_array($actor['extra']))
- {
- foreach ($actor['extra'] as $column => $value)
- {
- $value_set[$column] = $value;
- }
- }
-
- if (isset($values_attribute) AND
is_array($values_attribute))
- {
- foreach($values_attribute as $entry)
- {
- if($entry['datatype']!='AB' &&
$entry['datatype']!='VENDOR' && $entry['datatype']!='user')
- {
- if($entry['datatype'] == 'C' ||
$entry['datatype'] == 'T' || $entry['datatype'] == 'V' || $entry['datatype'] ==
'link')
- {
- $entry['value'] =
$this->db->db_addslashes($entry['value']);
- }
- if($entry['datatype'] == 'pwd')
- {
- if($entry['value'] ||
$entry['value2'])
- {
-
if($entry['value'] == $entry['value2'])
- {
-
$value_set[$entry['name']] = md5($entry['value']);
- }
- else
- {
-
$receipt['error'][]=array('msg'=>lang('Passwords do not match!'));
- }
- }
- }
- else
- {
-
$value_set[$entry['name']] = $entry['value'];
- }
- }
- }
- }
-
- $value_set['entry_date'] = time();
- $value_set['category'] = $actor['cat_id'];
-
- if($this->role == 'vendor')
- {
- $value_set['member_of'] = $actor['member_of'];
- }
-
- if($value_set)
- {
- $value_set =
$this->bocommon->validate_db_update($value_set);
- }
-
- $this->db->query("UPDATE $table set $value_set WHERE
id=" . intval($actor['actor_id']));
-
- $receipt['actor_id']= $actor['actor_id'];
- $receipt['message'][] = array('msg'=>lang('actor %1 has
been edited',$actor['actor_id']));
- return $receipt;
- }
-
- function delete($actor_id)
- {
- $table = 'fm_' . $this->role;
- $this->db->query("DELETE FROM $table WHERE id=" .
intval($actor_id));
- }
- }
-
+ }
+
+ function read_single($actor_id, $values = array())
+ {
+ if(is_array($actor_id))
+ {
+ $actor_id = $actor_id['actor_id'];
+ $bt = debug_backtrace();
+ echo "<b>wrong call to soactor::" .
$bt[0]['function'] . "<br/>Called from file: " . $bt[0]['file'] . "<br/> line:
" . $bt[0]['line'] . '<br/>args: ' . print_r($bt[0]['args'][0],true) . '</b>';
+ unset($bt);
+ }
+ $table = 'fm_' . $this->role;
+
+ $this->db->query("SELECT * from $table where
id='$actor_id'");
+
+ if($this->db->next_record())
+ {
+ $values['id'] =
(int)$this->db->f('id');
+ $values['entry_date'] =
$this->db->f('entry_date');
+ $values['cat_id'] =
$this->db->f('category');
+ $values['member_of'] =
explode(',',$this->db->f('member_of'));
+
+ if ( isset($values['attributes']) &&
is_array($values['attributes']) )
+ {
+ foreach ( $values['attributes'] as
&$attr )
+ {
+ $attr['value'] =
$this->db->f($attr['column_name']);
+ }
+ }
+ }
+ return $values;
+ }
+
+ function add($actor,$values_attribute='')
+ {
+ $table = 'fm_' . $this->role;
+
+ if($actor['member_of'])
+ {
+ $actor['member_of']=',' .
implode(',',$actor['member_of']) . ',';
+ }
+
+ if(isset($actor['extra']) && is_array($actor['extra']))
+ {
+ foreach ($actor['extra'] as $input_name =>
$value)
+ {
+ if(isset($value) && $value)
+ {
+ $cols[] = $input_name;
+ $vals[] = $value;
+ }
+ }
+ }
+
+ if (isset($values_attribute) AND
is_array($values_attribute))
+ {
+ foreach($values_attribute as $entry)
+ {
+ if($entry['value'])
+ {
+ if($entry['datatype']!='AB' &&
$entry['datatype']!='VENDOR' && $entry['datatype']!='user')
+ {
+ if($entry['datatype']
== 'C' || $entry['datatype'] == 'T' || $entry['datatype'] == 'V' ||
$entry['datatype'] == 'link')
+ {
+ $entry['value']
= $this->db->db_addslashes($entry['value']);
+ }
+
+ if($entry['datatype']
== 'pwd' && $entry['value'] && $entry['value2'])
+ {
+
if($entry['value'] == $entry['value2'])
+ {
+ $cols[]
= $entry['name'];
+ $vals[]
= md5($entry['value']);
+ }
+ else
+ {
+
$receipt['error'][]=array('msg'=>lang('Passwords do not match!'));
+ }
+ }
+ else
+ {
+ $cols[] =
$entry['name'];
+ $vals[] =
$entry['value'];
+ }
+
+ if($entry['history'] ==
1)
+ {
+
$history_set[$entry['attrib_id']] = $entry['value'];
+ }
+ }
+ }
+ }
+ }
+
+ if($this->role == 'vendor')
+ {
+ $cols[] = 'member_of';
+ $vals[] = $actor['member_of'];
+ }
+
+ $cols[] = 'owner_id';
+ $vals[] = $this->account;
+
+ if($cols)
+ {
+ $cols = "," . implode(",", $cols);
+ $vals = "," .
$this->bocommon->validate_db_insert($vals);
+ }
+
+ $this->db->transaction_begin();
+ if($actor['new_actor_id'])
+ {
+ $id = $actor['new_actor_id'];
+ }
+ else
+ {
+ $id = $this->bocommon->next_id($table);
+ }
+
+ $this->db->query("INSERT INTO $table
(id,entry_date,category $cols) "
+ . "VALUES ($id,'" . time() . "','" .
$actor['cat_id'] . "' $vals)");
+
+ $receipt['actor_id']=
$id;//$this->db->get_last_insert_id($table,'id');
+
+ $receipt['message'][] = array('msg'=>lang('actor %1 has
been saved',$receipt['actor_id']));
+
+ $this->db->transaction_commit();
+ return $receipt;
+ }
+
+ function edit($actor,$values_attribute='')
+ {
+//_debug_array($actor);
+//_debug_array($values_attribute);
+ $table = 'fm_' . $this->role;
+
+ if($actor['member_of'])
+ {
+ $actor['member_of']=',' .
implode(',',$actor['member_of']) . ',';
+ }
+
+ if(isset($actor['extra']) && is_array($actor['extra']))
+ {
+ foreach ($actor['extra'] as $column => $value)
+ {
+ $value_set[$column] = $value;
+ }
+ }
+
+ if (isset($values_attribute) AND
is_array($values_attribute))
+ {
+ foreach($values_attribute as $entry)
+ {
+ if($entry['datatype']!='AB' &&
$entry['datatype']!='VENDOR' && $entry['datatype']!='user')
+ {
+ if($entry['datatype'] == 'C' ||
$entry['datatype'] == 'T' || $entry['datatype'] == 'V' || $entry['datatype'] ==
'link')
+ {
+ $entry['value'] =
$this->db->db_addslashes($entry['value']);
+ }
+ if($entry['datatype'] == 'pwd')
+ {
+ if($entry['value'] ||
$entry['value2'])
+ {
+
if($entry['value'] == $entry['value2'])
+ {
+
$value_set[$entry['name']] = md5($entry['value']);
+ }
+ else
+ {
+
$receipt['error'][]=array('msg'=>lang('Passwords do not match!'));
+ }
+ }
+ }
+ else
+ {
+
$value_set[$entry['name']] = $entry['value'];
+ }
+ }
+ }
+ }
+
+ $value_set['entry_date'] = time();
+ $value_set['category'] = $actor['cat_id'];
+
+ if($this->role == 'vendor')
+ {
+ $value_set['member_of'] = $actor['member_of'];
+ }
+
+ if($value_set)
+ {
+ $value_set =
$this->bocommon->validate_db_update($value_set);
+ }
+
+ $this->db->query("UPDATE $table set $value_set WHERE
id=" . intval($actor['actor_id']));
+
+ $receipt['actor_id']= $actor['actor_id'];
+ $receipt['message'][] = array('msg'=>lang('actor %1 has
been edited',$actor['actor_id']));
+ return $receipt;
+ }
+
+ function delete($actor_id)
+ {
+ $table = 'fm_' . $this->role;
+ $this->db->query("DELETE FROM $table WHERE id=" .
intval($actor_id));
+ }
+ }
+
Modified: people/sigurdne/modules/property/trunk/inc/class.soagreement.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.soagreement.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.soagreement.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -42,7 +42,6 @@
$this->bocommon =
CreateObject('property.bocommon');
$this->db = clone($GLOBALS['phpgw']->db);
$this->db2 = clone($this->db);
-
$this->join = $this->bocommon->join;
$this->left_join = $this->bocommon->left_join;
$this->like = $this->bocommon->like;
Modified: people/sigurdne/modules/property/trunk/inc/class.socategory.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.socategory.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.socategory.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -779,6 +779,34 @@
);
break;
//-------- ID type auto
+ case 'order_dim1':
+ $info = array
+ (
+ 'table'
=> 'fm_order_dim1',
+ 'id'
=> array('name' => 'id', 'type' => 'auto'),
+ 'fields'
=> array
+ (
+ array
+ (
+ 'name' => 'num',
+ 'descr' =>
lang('name'),
+ 'type' =>
'varchar'
+ ),
+ array
+ (
+ 'name' =>
'descr',
+ 'descr' =>
lang('descr'),
+ 'type' =>
'varchar',
+ 'nullable' =>
false
+ ),
+ ),
+ 'edit_msg'
=> lang('edit'),
+ 'add_msg'
=> lang('add'),
+ 'name'
=> lang('order_dim1'),
+ 'acl_location' =>
'.admin',
+ 'menu_selection' =>
'admin::property::order_dim1'
+ );
+ break;
case 'branch':
$info = array
(
@@ -1059,8 +1087,14 @@
}
+ //deprecated
function select_category_list($data)
{
+ return $this->get_entity_list($data);
+ }
+
+ function get_list($data)
+ {
$values = array();
$this->get_location_info($data['type'],
$data['type_id']);
@@ -1069,22 +1103,48 @@
{
return $values;
}
+
$order = isset($data['order']) &&
$data['order'] == 'id' ? 'id' :'descr';
- $this->_db->query("SELECT id, descr FROM $table ORDER
BY $order");
+ foreach ($this->location_info['fields'] as $field)
+ {
+ $fields[] = $field['name'];
+ }
+ // Add extra info to name
+ if(isset($data['id_in_name']) && $data['id_in_name'])
+ {
+ $id_in_name = 'id';
+ if (in_array($data['id_in_name'], $fields))
+ {
+ $id_in_name = $data['id_in_name'];
+ }
+ }
+
+ $fields = implode(',', $fields);
+
+ $this->_db->query("SELECT id, {$fields} FROM {$table}
ORDER BY {$order}");
+
while ($this->_db->next_record())
{
+ $_extra = $this->_db->f($id_in_name);
+ $id = $this->_db->f('id');
+ $name = $this->_db->f('descr', true);
+
+ if($_extra)
+ {
+ $name = "{$_extra} - {$name}";
+ }
+
$values[] = array
(
- 'id' => $this->_db->f('id'),
- 'name' => $this->_db->f('descr', true)
+ 'id' => $id,
+ 'name' => $name
);
}
return $values;
}
-
function add($data,$values_attribute)
{
$receipt = array();
Modified: people/sigurdne/modules/property/trunk/inc/class.socommon.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.socommon.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.socommon.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -53,12 +53,11 @@
if(is_object($GLOBALS['phpgw']->db))
{
$this->db = & $GLOBALS['phpgw']->db;
- //$this->db = CreateObject('phpgwapi.db');
}
else // for setup
{
$this->db = CreateObject('phpgwapi.db');
-
+ $this->db->fetchmode= 'ASSOC';
if(isset($GLOBALS['phpgw_info']['server']['db_name']) &&
$GLOBALS['phpgw_info']['server']['db_name'])
{
$this->db->Host =
$GLOBALS['phpgw_info']['server']['db_host'];
@@ -199,10 +198,10 @@
function check_location($location_code='',$type_id='')
{
- $this->db->query("SELECT count(*) FROM
fm_location$type_id where location_code='$location_code'");
+ $this->db->query("SELECT count(*) as cnt FROM
fm_location$type_id where location_code='$location_code'");
$this->db->next_record();
- if ( $this->db->f(0))
+ if ( $this->db->f('cnt'))
{
return true;
}
Modified: people/sigurdne/modules/property/trunk/inc/class.sodocument.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.sodocument.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.sodocument.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -47,7 +47,6 @@
$this->cats->app_name = 'property.document';
$this->cats->supress_info = true;
-
$this->db = & $GLOBALS['phpgw']->db;
$this->join = &
$this->db->join;
$this->like = &
$this->db->like;
Modified: people/sigurdne/modules/property/trunk/inc/class.soentity.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.soentity.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.soentity.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -49,7 +49,6 @@
$this->bocommon =
CreateObject('property.bocommon');
$this->custom =
createObject('property.custom_fields');
$this->db = & $GLOBALS['phpgw']->db;
-
$this->join = & $this->db->join;
$this->left_join = & $this->db->left_join;
$this->like = & $this->db->like;
@@ -408,9 +407,9 @@
$sql .= " $filtermethod $querymethod";
//_debug_array($sql);
- $this->db->query('SELECT count(*)' .
substr($sql,strripos($sql,'from')),__LINE__,__FILE__);
+ $this->db->query('SELECT count(*) as cnt ' .
substr($sql,strripos($sql,'from')),__LINE__,__FILE__);
$this->db->next_record();
- $this->total_records = $this->db->f(0);
+ $this->total_records = $this->db->f('cnt');
if($dry_run)
{
@@ -509,11 +508,11 @@
function check_entity($entity_id,$cat_id,$num)
{
$table = "fm_{$this->type}_{$entity_id}_{$cat_id}";
- $this->db->query("SELECT count(*) FROM $table where
num='$num'");
+ $this->db->query("SELECT count(*) as cnt FROM $table
where num='$num'");
$this->db->next_record();
- if ( $this->db->f(0))
+ if ( $this->db->f('cnt'))
{
return true;
}
Modified: people/sigurdne/modules/property/trunk/inc/class.soevent.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.soevent.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.soevent.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -63,7 +63,7 @@
$location_id = (int) $data['location_id'];
}
- $location_item_id =
isset($data['location_item_id']) && $data['location_item_id'] ?
(int)$data['location_item_id'] : '';
+ $location_item_id =
isset($data['location_item_id']) && $data['location_item_id'] ?
$data['location_item_id'] : '';
$start = isset($data['start'])
&& $data['start'] ? $data['start'] : 0;
$query = isset($data['query'])
? $data['query'] : '';
$sort = isset($data['sort'])
&& $data['sort'] ? $data['sort']:'DESC';
@@ -353,7 +353,7 @@
$tz_offset = $data['tz_offset'] ?
$data['tz_offset'] : 0;
$owner_id = $data['owner_id'] ?
$data['owner_id'] : 0;
$location_id = (int) $data['location_id'];
- $location_item_id = (int)
$data['location_item_id'];
+ $location_item_id = $data['location_item_id'];
if(!$startYear || !$startMonth || !$startDay ||
!$location_id || !$location_item_id)
{
@@ -415,7 +415,7 @@
$eday = $data['eday'];
$owner_id = $data['owner_id'] ?
$data['owner_id'] : 0;
$location_id = (int) $data['location_id'];
- $location_item_id = (int)
$data['location_item_id'];
+ $location_item_id = $data['location_item_id'];
if(!$syear || !$smonth || !$sday || !$eyear || !$emonth
|| !$eday || !$location_id || !$location_item_id)
{
throw new
Exception("property_soevent::list_repeated_events - Missing date info");
Modified: people/sigurdne/modules/property/trunk/inc/class.sogab.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.sogab.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.sogab.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -404,11 +404,11 @@
function exist_gab_location($gab_id='',$location_code='')
{
- $this->db2->query("SELECT count(*) FROM fm_gab_location
where gab_id='$gab_id' and location_code='$location_code'");
+ $this->db2->query("SELECT count(*) as cnt FROM
fm_gab_location where gab_id='$gab_id' and location_code='$location_code'");
$this->db2->next_record();
- if ( $this->db2->f(0))
+ if ( $this->db2->f('cnt'))
{
return true;
}
Modified: people/sigurdne/modules/property/trunk/inc/class.soinvestment.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.soinvestment.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.soinvestment.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -34,9 +34,8 @@
class property_soinvestment
{
- function property_soinvestment()
+ function __construct()
{
- // $this->currentapp =
$GLOBALS['phpgw_info']['flags']['currentapp'];
$this->account =
$GLOBALS['phpgw_info']['user']['account_id'];
$this->db = & $GLOBALS['phpgw']->db;
$this->join = & $this->db->join;
Modified: people/sigurdne/modules/property/trunk/inc/class.soinvoice.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.soinvoice.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.soinvoice.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -555,9 +555,9 @@
{
$budget_account=$values['budget_account'][$n];
- $GLOBALS['phpgw']->db->query("select
count(*) from fm_b_account where id ='{$budget_account}'");
+ $GLOBALS['phpgw']->db->query("select
count(*) as cnt from fm_b_account where id ='{$budget_account}'");
$GLOBALS['phpgw']->db->next_record();
- if ($GLOBALS['phpgw']->db->f(0) == 0)
+ if ($GLOBALS['phpgw']->db->f('cnt') ==
0)
{
$receipt['error'][] =
array('msg'=> lang('This account is not valid:'). " ".$budget_account);
$local_error= true;
@@ -576,9 +576,9 @@
else
{
$dimd=$values['dimd'][$n];
- $GLOBALS['phpgw']->db->query("select
count(*) from fm_ecodimd where id ='$dimd'");
+ $GLOBALS['phpgw']->db->query("select
count(*) as cnt from fm_ecodimd where id ='$dimd'");
$GLOBALS['phpgw']->db->next_record();
- if ($GLOBALS['phpgw']->db->f(0) == 0)
+ if ($GLOBALS['phpgw']->db->f('cnt') ==
0)
{
$receipt['error'][] =
array('msg'=>lang('This Dim D is not valid:'). " ".$dimd);
$local_error= true;
@@ -758,18 +758,15 @@
function increment_bilagsnr()
{
-
$this->db->query("UPDATE fm_idgenerator set value =
value + 1 where name = 'Bilagsnummer'");
$this->db->query("select value from fm_idgenerator
where name = 'Bilagsnummer'");
$this->db->next_record();
$bilagsnr = $this->db->f('value');
return $bilagsnr;
-
}
function next_bilagsnr()
{
-
$this->db->query("select value from fm_idgenerator
where name = 'Bilagsnummer'");
$this->db->next_record();
$bilagsnr = $this->db->f('value')+1;
@@ -779,10 +776,9 @@
function check_vendor($vendor_id)
{
-
- $this->db->query("select count(*) from fm_vendor where
id='$vendor_id'");
+ $this->db->query("select count(*) as cnt from fm_vendor
where id='$vendor_id'");
$this->db->next_record();
- return $this->db->f(0);
+ return $this->db->f('cnt');
}
@@ -1177,11 +1173,11 @@
function check_claim($voucher_id='')
{
- $sql = "SELECT count(*) FROM fm_ecobilag
$this->left_join fm_workorder on fm_ecobilag.pmwrkord_code = fm_workorder.id "
+ $sql = "SELECT count(*) as cnt FROM fm_ecobilag
$this->left_join fm_workorder on fm_ecobilag.pmwrkord_code = fm_workorder.id "
. " WHERE bilagsnr='$voucher_id' AND
fm_workorder.charge_tenant=1 AND fm_workorder.claim_issued IS NULL";
$this->db->query($sql,__LINE__,__FILE__);
$this->db->next_record();
- return $this->db->f(0);
+ return $this->db->f('cnt');
}
}
Modified: people/sigurdne/modules/property/trunk/inc/class.solocation.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.solocation.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.solocation.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -44,7 +44,7 @@
$this->soadmin_location =
CreateObject('property.soadmin_location');
if(!$bocommon || !is_object($bocommon))
{
- $this->bocommon =
CreateObject('property.bocommon');
+ $this->bocommon =
CreateObject('property.bocommon');
}
else
{
@@ -222,11 +222,11 @@
function check_location($location_code='',$type_id='')
{
- $this->db->query("SELECT count(*) FROM
fm_location$type_id where location_code='$location_code'");
+ $this->db->query("SELECT count(*) AS cnt FROM
fm_location$type_id where location_code='$location_code'");
$this->db->next_record();
- if ( $this->db->f(0))
+ if ( $this->db->f('cnt'))
{
return true;
}
@@ -523,7 +523,7 @@
'datatype' =>
$this->db->f('datatype'),
'attrib_id' =>
$this->db->f('id')
);
-
+
//TODO: move alignment to ui
switch ($this->db->f('datatype'))
{
@@ -675,38 +675,38 @@
$values = array();
if(!$dry_run)
{
- $this->db->query('SELECT count(*)' .
substr($sql,strripos($sql,'from')),__LINE__,__FILE__);
- $this->db->next_record();
- $this->total_records = $this->db->f(0);
+ $this->db->query('SELECT count(*) AS cnt ' .
substr($sql,strripos($sql,'from')),__LINE__,__FILE__);
+ $this->db->next_record();
+ $this->total_records = $this->db->f('cnt');
- if(!$allrows)
- {
- $this->db->limit_query($sql .
$ordermethod,$start,__LINE__,__FILE__);
- }
- else
- {
- $this->db->query($sql .
$ordermethod,__LINE__,__FILE__);
- }
+ if(!$allrows)
+ {
+ $this->db->limit_query($sql .
$ordermethod,$start,__LINE__,__FILE__);
+ }
+ else
+ {
+ $this->db->query($sql .
$ordermethod,__LINE__,__FILE__);
+ }
- $j=0;
+ $j=0;
- $location_count = $type_id-1;
+ $location_count = $type_id-1;
$cols_return = $uicols['name'];
$dataset = array();
- while ($this->db->next_record())
- {
+ while ($this->db->next_record())
+ {
foreach($cols_return as $key => $field)
- {
+ {
$dataset[$j][$field] = array
(
'value' =>
$this->db->f($field),
'datatype' =>
$uicols['datatype'][$key],
'attrib_id' =>
isset($uicols['cols_return_extra'][$key]['attrib_id']) ?
$uicols['cols_return_extra'][$key]['attrib_id']:''
);
+ }
+ $j++;
}
- $j++;
- }
$values =
$this->custom->translate_value($dataset, $location_id, $location_count);
}
@@ -1408,13 +1408,13 @@
$table = 'fm_location' . $type_id . '_history';
- $sql = "SELECT count(*) FROM $table WHERE
location_code='$location_code'";
+ $sql = "SELECT count(*) AS cnt FROM $table WHERE
location_code='$location_code'";
$this->db->query($sql,__LINE__,__FILE__);
$this->db->next_record();
- if($this->db->f('0')>0)
+ if($this->db->f('cnt')>0)
{
return true;
}
@@ -1468,8 +1468,8 @@
$attrib[] = array
(
- 'column_name' => 'exp_date',
- 'input_text' => 'exp date',
+ 'column_name' => 'exp_date',
+ 'input_text' => 'exp date',
'datatype' => 'D',
'attrib_id' => 0
);
@@ -1483,7 +1483,7 @@
while ($this->db->next_record())
{
foreach($attrib as $key => $field)
- {
+ {
$dataset[$j][$field['column_name']] =
array
(
'value' =>
$this->db->f($field['column_name']),
@@ -1491,7 +1491,7 @@
'attrib_id' =>
$field['attib_id']
);
}
- $j++;
+ $j++;
}
$values = $this->custom->translate_value($dataset,
$location_id);
Modified: people/sigurdne/modules/property/trunk/inc/class.sopricebook.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.sopricebook.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.sopricebook.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -161,11 +161,11 @@
function check_activity_num($num='',$agreement_group_id='')
{
- $this->db->query("SELECT count(*) FROM fm_activities
where num='$num' and agreement_group_id ='$agreement_group_id'");
+ $this->db->query("SELECT count(*) as cnt FROM
fm_activities where num='$num' and agreement_group_id ='$agreement_group_id'");
$this->db->next_record();
- if ( $this->db->f(0))
+ if ( $this->db->f('cnt'))
{
return true;
}
@@ -173,11 +173,11 @@
function check_agreement_group_num($num='')
{
- $this->db->query("SELECT count(*) FROM
fm_agreement_group where num='$num'");
+ $this->db->query("SELECT count(*) as cnt FROM
fm_agreement_group where num='$num'");
$this->db->next_record();
- if ( $this->db->f(0))
+ if ( $this->db->f('cnt'))
{
return true;
}
@@ -776,11 +776,11 @@
function add_activity_vendor($values)
{
- $this->db->query("SELECT count(*) FROM
fm_activity_price_index WHERE activity_id='" . $values['activity_id'] . "' and
agreement_id='" . $values['agreement_id'] . "'",__LINE__,__FILE__);
+ $this->db->query("SELECT count(*) as cnt FROM
fm_activity_price_index WHERE activity_id='" . $values['activity_id'] . "' and
agreement_id='" . $values['agreement_id'] . "'",__LINE__,__FILE__);
$this->db->next_record();
- if ( $this->db->f(0))
+ if ( $this->db->f('cnt'))
{
$receipt['error'][] = array('msg'=>lang('This
Vendor is already registered for this activity'));
}
Modified: people/sigurdne/modules/property/trunk/inc/class.soproject.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.soproject.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.soproject.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -55,44 +55,47 @@
function select_status_list()
{
$this->db->query("SELECT id, descr FROM
fm_project_status ORDER BY id ");
-
- $i = 0;
+ $status = array();
while ($this->db->next_record())
{
- $status_entries[$i]['id']
= $this->db->f('id');
- $status_entries[$i]['name']
= stripslashes($this->db->f('descr'));
- $i++;
+ $status[] = array
+ (
+ 'id' => $this->db->f('id'),
+ 'name' => $this->db->f('descr',true)
+ );
}
- return $status_entries;
+ return $status;
}
function select_branch_list()
{
$this->db->query("SELECT id, descr FROM fm_branch ORDER
BY id ");
- $i = 0;
+ $branch = array();
while ($this->db->next_record())
{
- $branch_entries[$i]['id']
= $this->db->f('id');
- $branch_entries[$i]['name']
= stripslashes($this->db->f('descr'));
- $i++;
+ $branch[] = array
+ (
+ 'id' => $this->db->f('id'),
+ 'name' => $this->db->f('descr',true)
+ );
}
- return $branch_entries;
+ return $branch;
}
function select_key_location_list()
{
$this->db->query("SELECT id, descr FROM fm_key_loc
ORDER BY descr ");
-
- $key_location_entries = '';
- $i = 0;
+ $location = array();
while ($this->db->next_record())
{
- $key_location_entries[$i]['id']
= $this->db->f('id');
- $key_location_entries[$i]['name']
= stripslashes($this->db->f('descr'));
- $i++;
+ $location[] = array
+ (
+ 'id' => $this->db->f('id'),
+ 'name' => $this->db->f('descr',true)
+ );
}
- return $key_location_entries;
+ return $location;
}
function read($data)
@@ -802,11 +805,11 @@
}
- $this->db->query("SELECT count(*) FROM $meter_table
where location_code='$location_code' and category=1",__LINE__,__FILE__);
+ $this->db->query("SELECT count(*) as cnt FROM
$meter_table where location_code='$location_code' and
category=1",__LINE__,__FILE__);
$this->db->next_record();
- if ( $this->db->f(0))
+ if ( $this->db->f('cnt'))
{
$this->db->query("update $meter_table set
ext_meter_id='$power_meter',address='$address' where
location_code='$location_code' and category='1'",__LINE__,__FILE__);
}
@@ -830,10 +833,10 @@
{
$prefix = 'meter';
$pos = strlen($prefix);
- $this->db->query("select max(num) from $meter_table
where num $this->like ('$prefix%')");
+ $this->db->query("select max(num) as current from
$meter_table where num $this->like ('$prefix%')");
$this->db->next_record();
- $max =
$this->bocommon->add_leading_zero(substr($this->db->f(0),$pos));
+ $max =
$this->bocommon->add_leading_zero(substr($this->db->f('current'),$pos));
$meter_id= $prefix . $max;
return $meter_id;
Modified: people/sigurdne/modules/property/trunk/inc/class.soresponsible.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.soresponsible.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.soresponsible.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -57,7 +57,6 @@
{
$this->account =&
$GLOBALS['phpgw_info']['user']['account_id'];
$this->db =&
$GLOBALS['phpgw']->db;
-
$this->like =& $this->db->like;
$this->join =& $this->db->join;
$this->left_join =& $this->db->left_join;
Modified: people/sigurdne/modules/property/trunk/inc/class.sostandard_3.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.sostandard_3.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.sostandard_3.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -39,7 +39,6 @@
$this->account =
$GLOBALS['phpgw_info']['user']['account_id'];
$this->socommon =
CreateObject('property.socommon');
$this->_db = &
$GLOBALS['phpgw']->db;
-
$this->_join = & $this->_db->join;
$this->_like = & $this->_db->like;
}
Modified: people/sigurdne/modules/property/trunk/inc/class.sotemplate.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.sotemplate.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.sotemplate.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -34,16 +34,13 @@
class property_sotemplate
{
- function property_sotemplate()
+ function __construct()
{
- // $this->currentapp =
$GLOBALS['phpgw_info']['flags']['currentapp'];
$this->account =
$GLOBALS['phpgw_info']['user']['account_id'];
- $this->bocommon =
CreateObject('property.bocommon');
$this->db = & $GLOBALS['phpgw']->db;
-
- $this->join = $this->bocommon->join;
- $this->left_join = $this->bocommon->left_join;
- $this->like = $this->bocommon->like;
+ $this->join = & $this->db->join;
+ $this->left_join = & $this->db->left_join;
+ $this->like = & $this->db->like;
}
function read($data)
@@ -313,7 +310,7 @@
$template_id);
- $values = $this->bocommon->validate_db_insert($values);
+ $values = $this->db->validate_insert($values);
$this->db->query("INSERT INTO fm_template_hours
(owner,hours_descr,unit,cost,quantity,billperae,ns3420_id,dim_d,"
@@ -416,7 +413,7 @@
'grouping_descr' =>
$hour['grouping_descr']
);
- $value_set =
$this->bocommon->validate_db_update($value_set);
+ $value_set =
$this->db->validate_update($value_set);
$this->db->query("UPDATE fm_template_hours set
$value_set WHERE id= '" . $hour['hour_id'] ."'",__LINE__,__FILE__);
@@ -456,7 +453,7 @@
time()
);
- $values = $this->bocommon->validate_db_insert($values);
+ $values = $this->db->validate_insert($values);
$this->db->query("INSERT INTO fm_template
(owner,name,descr,chapter_id,entry_date) "
. " VALUES ($values)",__LINE__,__FILE__);
@@ -483,7 +480,7 @@
'chapter_id' =>$values['chapter_id']
);
- $value_set =
$this->bocommon->validate_db_update($value_set);
+ $value_set =
$this->db->validate_update($value_set);
$this->db->query("UPDATE fm_template set $value_set
WHERE id='" . $values['template_id'] . "'",__LINE__,__FILE__);
Modified:
people/sigurdne/modules/property/trunk/inc/class.sotenant_claim.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.sotenant_claim.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.sotenant_claim.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -34,7 +34,7 @@
class property_sotenant_claim
{
- function property_sotenant_claim()
+ function __construct()
{
$this->account =
$GLOBALS['phpgw_info']['user']['account_id'];
$this->db = & $GLOBALS['phpgw']->db;
Modified: people/sigurdne/modules/property/trunk/inc/class.sotts.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.sotts.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.sotts.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -46,11 +46,12 @@
function __construct()
{
- $this->account =
$GLOBALS['phpgw_info']['user']['account_id'];
+ $this->account =
(int)$GLOBALS['phpgw_info']['user']['account_id'];
$this->historylog =
CreateObject('property.historylog','tts');
$this->db = &
$GLOBALS['phpgw']->db;
$this->like = & $this->db->like;
$this->join = & $this->db->join;
+ $this->left_join = & $this->db->left_join;
$this->dateformat =
$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'];
}
@@ -63,20 +64,21 @@
function read($data)
{
- $start = isset($data['start'])
&& $data['start'] ? $data['start']:0;
+ $start = isset($data['start']) &&
$data['start'] ? $data['start']:0;
$status_id = isset($data['status_id']) &&
$data['status_id'] ? $data['status_id']:'O'; //O='Open'
$user_id = isset($data['user_id']) &&
$data['user_id'] ? (int)$data['user_id']: 0;
$owner_id =
isset($data['owner_id'])?$data['owner_id']:'';
- $query =
isset($data['query'])?$data['query']:'';
- $sort = isset($data['sort'])
&& $data['sort'] ? $data['sort']:'DESC';
- $order =
isset($data['order'])?$data['order']:'';
- $cat_id =
isset($data['cat_id']) && $data['cat_id'] ? $data['cat_id']:0;
- $district_id = isset($data['district_id'])
&& $data['district_id'] ? $data['district_id']:0;
- $allrows =
isset($data['allrows'])?$data['allrows']:'';
- $start_date =
isset($data['start_date'])?$data['start_date']:'';
- $end_date =
isset($data['end_date'])?$data['end_date']:'';
- $external =
isset($data['external'])?$data['external']:'';
+ $query =
isset($data['query'])?$data['query']:'';
+ $sort = isset($data['sort']) &&
$data['sort'] ? $data['sort']:'DESC';
+ $order =
isset($data['order'])?$data['order']:'';
+ $cat_id = isset($data['cat_id']) &&
$data['cat_id'] ? $data['cat_id']:0;
+ $district_id = isset($data['district_id']) &&
$data['district_id'] ? $data['district_id']:0;
+ $allrows =
isset($data['allrows'])?$data['allrows']:'';
+ $start_date =
isset($data['start_date'])?$data['start_date']:'';
+ $end_date =
isset($data['end_date'])?$data['end_date']:'';
+ $external =
isset($data['external'])?$data['external']:'';
$dry_run = isset($data['dry_run']) ?
$data['dry_run'] : '';
+ $new = isset($data['new']) ?
$data['new'] : '';
$this->grants =
$GLOBALS['phpgw']->session->appsession('grants_ticket','property');
@@ -119,10 +121,10 @@
$access_location =
execMethod('property.socommon.get_location_list', PHPGW_ACL_READ);
if($access_location)
{
- $filtermethod = " WHERE fm_tts_tickets.loc1 in
('" . implode("','", $access_location) . "')";
- $where= 'AND';
+ $filtermethod = " WHERE
fm_tts_tickets.loc1 in ('" . implode("','", $access_location) . "')";
+ $where= 'AND';
+ }
}
- }
if (is_array($this->grants))
{
@@ -144,7 +146,7 @@
if ($status_id == 'X')
{
- $filtermethod .= " $where
fm_tts_tickets.status='X'";
+ $filtermethod .= " $where (
fm_tts_tickets.status='X'";
$where = 'AND';
}
else if($status_id == 'O')
@@ -153,30 +155,32 @@
$this->db->query('SELECT * from
fm_tts_status',__LINE__,__FILE__);
while ($this->db->next_record())
- {
+ {
if( ! $this->db->f('closed'))
{
$open .= " OR
fm_tts_tickets.status = 'C" . $this->db->f('id') . "'";
}
}
- $filtermethod .= " $where
(fm_tts_tickets.status='O'{$open})";
+ $filtermethod .= " $where (
(fm_tts_tickets.status='O'{$open})";
$where = 'AND';
}
else if($status_id == 'all')
{
- //nothing
+ $filtermethod .= "{$where} (1=1";//nothing
}
else if(is_array($status_id) && count($status_id))
{
$or = '';
- $filtermethod .= "{$where} (";
+ $filtermethod .= "{$where} ((";
foreach ($status_id as $value)
{
- $value = trim($value,'C');
- $filtermethod .= "{$or}
fm_tts_tickets.status = '{$value}'";
- $or = ' OR';
+ if($value)
+ {
+ $filtermethod .= "{$or}
fm_tts_tickets.status = '{$value}'";
+ $or = ' OR';
+ }
}
$filtermethod .= ')';
@@ -185,10 +189,19 @@
}
else
{
- $filtermethod .= " $where
fm_tts_tickets.status='{$status_id}'";
+ $filtermethod .= " $where
(fm_tts_tickets.status='{$status_id}'";
$where = 'AND';
}
+ if($new)
+ {
+ $filtermethod .= " OR fm_tts_views.id IS NULL
)";
+ }
+ else
+ {
+ $filtermethod .= ')';
+ }
+
if ($cat_id > 0)
{
$filtermethod .= " $where cat_id=" .
(int)$cat_id;
@@ -234,30 +247,45 @@
}
else
{
- $querymethod = " $where (subject
$this->like '%$query%' OR address $this->like '%$query%' OR
fm_tts_tickets.location_code $this->like '%$query%' OR fm_tts_tickets.order_id
= '$query')";
+ $querymethod = " $where (subject
$this->like '%$query%'"
+ . " OR address $this->like '%$query%' "
+ . " OR fm_location1.loc1_name
$this->like '%$query%'"
+ . " OR fm_tts_tickets.location_code
$this->like '%$query%'"
+ . " OR fm_tts_tickets.order_id =" .
(int)$query . ')';
}
}
- $sql = "SELECT fm_tts_tickets.* ,fm_location1.loc1_name
FROM fm_tts_tickets"
+ $sql = "SELECT DISTINCT fm_tts_tickets.*
,fm_location1.loc1_name, fm_tts_views.id as view FROM fm_tts_tickets"
. " $this->join fm_location1 ON
fm_tts_tickets.loc1=fm_location1.loc1"
. " $this->join fm_part_of_town ON
fm_location1.part_of_town_id=fm_part_of_town.part_of_town_id"
. " $order_join"
+ . " LEFT OUTER JOIN fm_tts_views ON fm_tts_tickets.id =
fm_tts_views.id"
. " $filtermethod $querymethod";
if(!$dry_run)
{
- $this->db->query('SELECT count(*) as hits ' .
substr($sql,strripos($sql,'from')),__LINE__,__FILE__);
+/*
+ $sql2 = "SELECT fm_tts_tickets.*
,fm_location1.loc1_name, fm_tts_views.id as view FROM fm_tts_tickets"
+ . " $this->join fm_location1 ON
fm_tts_tickets.loc1=fm_location1.loc1"
+ . " $this->join fm_part_of_town ON
fm_location1.part_of_town_id=fm_part_of_town.part_of_town_id"
+ . " $order_join"
+ . " $filtermethod $querymethod";
+
+ $sql2 = 'SELECT count(*) as cnt ' .
substr($sql2,strripos($sql2,'FROM'));
+*/
+ $sql2 = "SELECT count(*) as cnt FROM ({$sql})
as t";
+ $this->db->query($sql2,__LINE__,__FILE__);
$this->db->next_record();
- $this->total_records = $this->db->f('hits');
- $this->db->fetchmode = 'ASSOC';
- if(!$allrows)
- {
- $this->db->limit_query($sql .
$ordermethod,$start,__LINE__,__FILE__);
- }
- else
- {
- $this->db->query($sql .
$ordermethod,__LINE__,__FILE__);
- }
+ $this->total_records = $this->db->f('cnt');
+ unset($sql2);
+ if(!$allrows)
+ {
+ $this->db->limit_query($sql .
$ordermethod,$start,__LINE__,__FILE__);
+ }
+ else
+ {
+ $this->db->query($sql .
$ordermethod,__LINE__,__FILE__);
+ }
}
@@ -282,12 +310,15 @@
'finnish_date' =>
$this->db->f('finnish_date'),
'finnish_date2' =>
$this->db->f('finnish_date2'),
'order_id' =>
$this->db->f('order_id'),
- 'new_ticket' => ''
+ 'vendor_id' =>
$this->db->f('vendor_id'),
+ 'actual_cost' =>
$this->db->f('actual_cost'),
+ 'estimate' =>
$this->db->f('budget'),
+ 'new_ticket' =>
$this->db->f('view') ? false : true,
);
}
-
+/*
foreach ($tickets as &$ticket)
- {
+ {
$this->db->query("SELECT count(*) as hits FROM
fm_tts_views where id={$ticket['id']}"
. " AND
account_id='{$this->account}'",__LINE__,__FILE__);
$this->db->next_record();
@@ -297,6 +328,7 @@
$ticket['new_ticket'] = true;
}
}
+*/
return $tickets;
}
@@ -361,19 +393,16 @@
$ticket['budget'] =
$this->db->f('budget');
$ticket['actual_cost'] =
$this->db->f('actual_cost');
$ticket['order_cat_id'] =
$this->db->f('order_cat_id');
+ $ticket['building_part'] =
$this->db->f('building_part',true);
+ $ticket['order_dim1'] =
$this->db->f('order_dim1');
$user_id=(int)$this->db->f('user_id');
- $this->db->query("SELECT
account_firstname,account_lastname FROM phpgw_accounts WHERE
account_id='$user_id' ");
- $this->db->next_record();
- $ticket['user_name'] =
$this->db->f('account_firstname') . " " .$this->db->f('account_lastname') ;
- if ($ticket['assignedto']>0)
+ $ticket['user_name'] =
$GLOBALS['phpgw']->accounts->get($user_id)->__toString();
+ if ($ticket['assignedto'] > 0)
{
- $this->db->query("SELECT
account_firstname,account_lastname FROM phpgw_accounts WHERE account_id='" .
$ticket['assignedto'] . "'");
- $this->db->next_record();
- $ticket['assignedto_name'] =
$this->db->f('account_firstname') . " " .$this->db->f('account_lastname') ;
+ $ticket['assignedto_name'] =
$GLOBALS['phpgw']->accounts->get($ticket['assignedto'])->__toString();
}
-
}
return $ticket;
@@ -383,11 +412,11 @@
{
// Have they viewed this ticket before ?
$id = (int) $id;
- $this->db->query("SELECT count(*) FROM fm_tts_views
where id={$id}"
+ $this->db->query("SELECT count(*) as cnt FROM
fm_tts_views where id={$id}"
. " AND account_id='" .
$GLOBALS['phpgw_info']['user']['account_id'] . "'",__LINE__,__FILE__);
$this->db->next_record();
- if (! $this->db->f(0))
+ if (! $this->db->f('cnt'))
{
$this->db->query("INSERT INTO fm_tts_views
(id,account_id,time) values ({$id},'"
.
$GLOBALS['phpgw_info']['user']['account_id'] . "','" .
phpgwapi_datetime::user_localtime() . "')",__LINE__,__FILE__);
@@ -482,7 +511,7 @@
'location2_item_id' => $id,
'account_id' =>
$this->account
);
-
+
$interlink =
CreateObject('property.interlink');
$interlink->add($interlink_data,$this->db);
}
@@ -595,7 +624,6 @@
$this->db->query("select * from fm_tts_tickets where
id='$id'",__LINE__,__FILE__);
$this->db->next_record();
-
$location_code = $this->db->f('location_code');
$oldlocation_code = $this->db->f('location_code');
$oldfinnish_date = $this->db->f('finnish_date');
@@ -612,7 +640,10 @@
$old_contact_id = $this->db->f('contact_id');
$old_actual_cost = $this->db->f('actual_cost');
$old_order_cat_id = $this->db->f('order_cat_id');
+ $old_building_part =
$this->db->f('building_part',true);
+ $old_order_dim1 =
(int)$this->db->f('order_dim1');
+
if($oldcat_id ==0){$oldcat_id ='';}
if($old_order_cat_id ==0){$old_order_cat_id ='';}
if($oldassigned ==0){$oldassigned ='';}
@@ -783,7 +814,22 @@
$this->fields_updated = true;
}
+ if ((int)$old_order_dim1 != (int)$ticket['order_dim1'])
+ {
+ $this->db->query("UPDATE fm_tts_tickets SET
order_dim1='" . (int)$ticket['order_dim1']
+ . "' WHERE id='$id'",__LINE__,__FILE__);
+ $receipt['message'][]= array('msg' =>
lang('order_dim1 has been updated'));
+ $this->fields_updated = true;
+ }
+ if ($old_building_part != $ticket['building_part'])
+ {
+ $this->db->query("UPDATE fm_tts_tickets SET
building_part='" . $ticket['building_part']
+ . "' WHERE id='$id'",__LINE__,__FILE__);
+ $receipt['message'][]= array('msg' =>
lang('building part has been updated'));
+ $this->fields_updated = true;
+ }
+
if (($old_note != $ticket['note']) && $ticket['note'])
{
$this->fields_updated = true;
Modified: people/sigurdne/modules/property/trunk/inc/class.soworkorder.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.soworkorder.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.soworkorder.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -497,7 +497,7 @@
$sql2 = 'SELECT count(*) as cnt FROM (SELECT
fm_workorder.id ' . substr($sql,strripos($sql,'from')) . ') as cnt';
$this->db->query($sql2,__LINE__,__FILE__);
$this->db->next_record();
- $this->total_records =
$this->db->f('cnt');//$this->db->f('0');
+ $this->total_records = $this->db->f('cnt');
}
else
{
Modified: people/sigurdne/modules/property/trunk/inc/class.uievent.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.uievent.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.uievent.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -424,7 +424,7 @@
$location = phpgw::get_var('location');
$attrib_id = phpgw::get_var('attrib_id');
- $item_id = phpgw::get_var('item_id', 'int');
+ $item_id = phpgw::get_var('item_id');//might be
bigint
$id = phpgw::get_var('id', 'int');
$values = phpgw::get_var('values');
@@ -548,15 +548,11 @@
phpgwapi_yui::tabview_setup('general_edit_tabview');
$tabs['general'] = array('label' =>
lang('general'), 'link' => '#general');
$tabs['repeat'] = array('label' =>
lang('repeat'), 'link' => '#repeat');
- $schedule = array();
-
if ($id)
{
$tabs['plan'] = array('label' =>
lang('plan'), 'link' => '#plan');
- $schedule = $this->schedule2($id);
}
-
$jscal = CreateObject('phpgwapi.jscalendar');
$jscal->add_listener('values_start_date');
$jscal->add_listener('values_end_date');
@@ -620,9 +616,22 @@
'textareacols'
=>
isset($GLOBALS['phpgw_info']['user']['preferences']['property']['textareacols'])
&& $GLOBALS['phpgw_info']['user']['preferences']['property']['textareacols'] ?
$GLOBALS['phpgw_info']['user']['preferences']['property']['textareacols'] : 60,
'textarearows'
=>
isset($GLOBALS['phpgw_info']['user']['preferences']['property']['textarearows'])
&& $GLOBALS['phpgw_info']['user']['preferences']['property']['textarearows'] ?
$GLOBALS['phpgw_info']['user']['preferences']['property']['textarearows'] : 10,
- 'tabs'
=> phpgwapi_yui::tabview_generate($tabs, 'general'),
+ 'tabs'
=> $id ? phpgwapi_yui::tabview_generate($tabs, 'general') : '',
);
+ $schedule = array();
+
+ if ($id)
+ {
+ $schedule = $this->schedule2($id);
+ }
+ else
+ {
+ $data['td_count'] = '""';
+ $data['base_java_url'] = '""';
+ $data['property_js'] = '""';
+ }
+
$data = array_merge($schedule, $data);
$appname = lang('event');
Modified: people/sigurdne/modules/property/trunk/inc/class.uiproject.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.uiproject.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.uiproject.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -565,7 +565,7 @@
//
$datatable['rowactions']['action'][] = array('link'=>'dummy');
}
- if (isset($project_entry) &&
$this->acl_add &&
$this->bocommon->check_perms($project_entry['grants'],PHPGW_ACL_ADD))
+ if($this->acl_add)
{
$datatable['rowactions']['action'][] = array(
'my_name' => 'add',
@@ -753,7 +753,6 @@
phpgwapi_cache::session_set('property', 'project_index_json',$json);
phpgwapi_cache::session_set('property', 'project_index_json_get', 1);
}
-
return $json;
}
//-------------------- JSON CODE ----------------------
Modified: people/sigurdne/modules/property/trunk/inc/class.uitts.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.uitts.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/class.uitts.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -627,6 +627,9 @@
if( $this->acl->check('.ticket.order', PHPGW_ACL_READ,
'property') )
{
$uicols['name'][$i++] = 'order_id';
+ $uicols['name'][$i++] = 'vendor';
+ $uicols['name'][$i++] = 'estimate';
+ $uicols['name'][$i++] = 'actual_cost';
}
foreach($uicols_related as $related)
@@ -2085,143 +2088,139 @@
// approval
}
-
- if(isset($values['send_order']) &&
$values['send_order'])
+ if(isset($values['vendor_email']) &&
$values['vendor_email'])
{
+ $subject = lang(workorder).":
{$ticket['order_id']}";
+ $organisation = '';
+ $contact_name = '';
+ $contact_email = '';
+ $contact_phone = '';
- if(isset($values['vendor_email']) &&
$values['vendor_email'])
+
if(isset($this->bo->config->config_data['org_name']))
{
- $subject = lang(workorder).":
{$ticket['order_id']}";
+ $organisation =
$this->bo->config->config_data['org_name'];
+ }
- $organisation = '';
- $contact_name = '';
- $contact_email = '';
- $contact_phone = '';
+ $user_name =
$GLOBALS['phpgw_info']['user']['fullname'];
+ $ressursnr =
$GLOBALS['phpgw_info']['user']['preferences']['property']['ressursnr'];
+ $location = lang('Address'). ":
{$ticket['address']}<br>";
-
if(isset($this->bo->config->config_data['org_name']))
- {
- $organisation =
$this->bo->config->config_data['org_name'];
- }
+ $address_element =
$this->bo->get_address_element($ticket['location_code']);
- $user_name =
$GLOBALS['phpgw_info']['user']['fullname'];
- $ressursnr =
$GLOBALS['phpgw_info']['user']['preferences']['property']['ressursnr'];
- $location = lang('Address'). ":
{$ticket['address']}<br>";
+ foreach($address_element as $address_entry)
+ {
+ $location .= "{$address_entry['text']}:
{$address_entry['value']} <br>";
+ }
- $address_element =
$this->bo->get_address_element($ticket['location_code']);
+ $location = rtrim($location, '<br>');
- foreach($address_element as
$address_entry)
- {
- $location .=
"{$address_entry['text']}: {$address_entry['value']} <br>";
- }
+ $order_description = $ticket['order_descr'];
- $location = rtrim($location, '<br>');
+ if(isset($contact_data['value_contact_name'])
&& $contact_data['value_contact_name'])
+ {
+ $contact_name =
$contact_data['value_contact_name'];
+ }
+ if(isset($contact_data['value_contact_email'])
&& $contact_data['value_contact_email'])
+ {
+ $contact_email = "<a
href='mailto:{$contact_data['value_contact_email']}'>{$contact_data['value_contact_email']}</a>";
+ }
+ if(isset($contact_data['value_contact_tel']) &&
$contact_data['value_contact_tel'])
+ {
+ $contact_phone =
$contact_data['value_contact_tel'];
+ }
- $order_description =
$ticket['order_descr'];
+ $order_id = $ticket['order_id'];
-
if(isset($contact_data['value_contact_name']) &&
$contact_data['value_contact_name'])
- {
- $contact_name =
$contact_data['value_contact_name'];
- }
-
if(isset($contact_data['value_contact_email']) &&
$contact_data['value_contact_email'])
- {
- $contact_email = "<a
href='mailto:{$contact_data['value_contact_email']}'>{$contact_data['value_contact_email']}</a>";
- }
-
if(isset($contact_data['value_contact_tel']) &&
$contact_data['value_contact_tel'])
- {
- $contact_phone =
$contact_data['value_contact_tel'];
- }
+ $user_phone =
$GLOBALS['phpgw_info']['user']['preferences']['property']['cellphone'];
+ $user_email =
$GLOBALS['phpgw_info']['user']['preferences']['property']['email'];
+ $order_email_template =
$GLOBALS['phpgw_info']['user']['preferences']['property']['order_email_template'];
- $order_id = $ticket['order_id'];
+ $body = nl2br(str_replace(array
+ (
+
'__organisation__',
+ '__user_name__',
+
'__user_phone__',
+
'__user_email__',
+ '__ressursnr__',
+ '__location__',
+
'__order_description__',
+
'__contact_name__',
+
'__contact_email__',
+
'__contact_phone__',
+ '__order_id__',
+ '[b]',
+ '[/b]'
+ ),array
+ (
+ $organisation,
+ $user_name,
+ $user_phone,
+ $user_email,
+ $ressursnr,
+ $location,
+
$order_description,
+ $contact_name,
+ $contact_email,
+ $contact_phone,
+ $order_id,
+ '<b>',
+ '</b>'
+
),$order_email_template));
- $user_phone =
$GLOBALS['phpgw_info']['user']['preferences']['property']['cellphone'];
- $user_email =
$GLOBALS['phpgw_info']['user']['preferences']['property']['email'];
- $order_email_template =
$GLOBALS['phpgw_info']['user']['preferences']['property']['order_email_template'];
-
- $body = nl2br(str_replace(array
- (
-
'__organisation__',
-
'__user_name__',
-
'__user_phone__',
-
'__user_email__',
-
'__ressursnr__',
-
'__location__',
-
'__order_description__',
-
'__contact_name__',
-
'__contact_email__',
-
'__contact_phone__',
-
'__order_id__',
- '[b]',
- '[/b]'
- ),array
- (
-
$organisation,
-
$user_name,
-
$user_phone,
-
$user_email,
-
$ressursnr,
-
$location,
-
$order_description,
-
$contact_name,
-
$contact_email,
-
$contact_phone,
-
$order_id,
- '<b>',
- '</b>'
-
),$order_email_template));
-
- if(isset($values['file_attach']) &&
is_array($values['file_attach']))
+ if(isset($values['file_attach']) &&
is_array($values['file_attach']))
+ {
+ $bofiles =
CreateObject('property.bofiles');
+ $attachments =
$bofiles->get_attachments("/fmticket/{$id}/", $values['file_attach']);
+ $attachment_log = ' ' .
lang('attachments') . ' : ' . implode(', ',$values['file_attach']);
+ }
+ if
(isset($GLOBALS['phpgw_info']['server']['smtp_server']) &&
$GLOBALS['phpgw_info']['server']['smtp_server'])
+ {
+ if (!is_object($GLOBALS['phpgw']->send))
{
- $bofiles =
CreateObject('property.bofiles');
- $attachments =
$bofiles->get_attachments("/fmticket/{$id}/", $values['file_attach']);
- $attachment_log = ' ' .
lang('attachments') . ' : ' . implode(', ',$values['file_attach']);
+ $GLOBALS['phpgw']->send =
CreateObject('phpgwapi.send');
}
- if
(isset($GLOBALS['phpgw_info']['server']['smtp_server']) &&
$GLOBALS['phpgw_info']['server']['smtp_server'])
- {
- if
(!is_object($GLOBALS['phpgw']->send))
- {
- $GLOBALS['phpgw']->send
= CreateObject('phpgwapi.send');
- }
- $coordinator_name =
$GLOBALS['phpgw_info']['user']['fullname'];
- $coordinator_email =
$GLOBALS['phpgw_info']['user']['preferences']['property']['email'];
+ $coordinator_name =
$GLOBALS['phpgw_info']['user']['fullname'];
+ $coordinator_email =
"{$coordinator_name}<{$GLOBALS['phpgw_info']['user']['preferences']['property']['email']}>";
+ $bcc = $coordinator_email;
+
if(isset($contact_data['value_contact_email']) &&
$contact_data['value_contact_email'])
+ {
+ $bcc .=
";{$contact_data['value_contact_email']}";
+ }
- $bcc = $coordinator_email;
-
if(isset($contact_data['value_contact_email']) &&
$contact_data['value_contact_email'])
- {
- $bcc .=
";{$contact_data['value_contact_email']}";
- }
-
- $rcpt =
$GLOBALS['phpgw']->send->msg('email', $values['vendor_email'], $subject,
stripslashes($body), '', $cc, $bcc, $coordinator_email, $coordinator_name,
'html', '', $attachments , true);
- if($rcpt)
- {
-
$receipt['message'][]=array('msg'=>lang('%1 is notified',$_address));
- $historylog =
CreateObject('property.historylog','tts');
-
$historylog->add('M',$id,"{$values['vendor_email']}{$attachment_log}");
-
$receipt['message'][]=array('msg'=>lang('Workorder is sent by email!'));
- $action_params = array
- (
- 'appname'
=> 'property',
- 'location'
=> '.ticket',
- 'id'
=> $id,
- 'responsible'
=> $values['vendor_id'],
-
'responsible_type' => 'vendor',
- 'action'
=> 'remind',
- 'remark'
=> '',
- 'deadline'
=> ''
- );
-
- $reminds =
execMethod('property.sopending_action.set_pending_action', $action_params);
- }
- }
- else
+ $_to =
implode(';',$values['vendor_email']);
+
+ $rcpt =
$GLOBALS['phpgw']->send->msg('email', $_to, $subject, stripslashes($body), '',
$cc, $bcc, $coordinator_email, $coordinator_name, 'html', '', $attachments ,
true);
+ if($rcpt)
{
-
$receipt['error'][]=array('msg'=>lang('SMTP server is not set! (admin
section)'));
- }
- }
+
$receipt['message'][]=array('msg'=>lang('%1 is notified',$_address));
+ $historylog =
CreateObject('property.historylog','tts');
+
$historylog->add('M',$id,"{$_to}{$attachment_log}");
+
$receipt['message'][]=array('msg'=>lang('Workorder is sent by email!'));
+ $action_params = array
+ (
+ 'appname'
=> 'property',
+ 'location'
=> '.ticket',
+ 'id'
=> $id,
+ 'responsible'
=> $values['vendor_id'],
+ 'responsible_type' =>
'vendor',
+ 'action'
=> 'remind',
+ 'remark'
=> '',
+ 'deadline'
=> ''
+ );
+
+ $reminds =
execMethod('property.sopending_action.set_pending_action', $action_params);
+ }
+ }
+ else
+ {
+
$receipt['error'][]=array('msg'=>lang('SMTP server is not set! (admin
section)'));
+ }
}
+
// start approval
- if ($values['approval'] && $values['mail_address'] &&
$this->bo->config->config_data['workorder_approval'])
+ if (isset($values['approval']) && $values['approval']
&& $this->bo->config->config_data['workorder_approval'])
{
$coordinator_name=$GLOBALS['phpgw_info']['user']['fullname'];
$coordinator_email=$GLOBALS['phpgw_info']['user']['preferences']['property']['email'];
@@ -2248,19 +2247,16 @@
'deadline'
=> ''
);
$bcc = '';//$coordinator_email;
- foreach ($values['mail_address'] as
$_account_id => $_address)
+ foreach ($values['approval'] as
$_account_id => $_address)
{
-
if(isset($values['approval'][$_account_id]) &&
$values['approval'][$_account_id])
- {
-
$action_params['responsible'] = $_account_id;
- $rcpt =
$GLOBALS['phpgw']->send->msg('email', $_address, $subject,
stripslashes($message), '', $cc, $bcc, $coordinator_email, $coordinator_name,
'html');
- if($rcpt)
- {
-
$receipt['message'][]=array('msg'=>lang('%1 is notified',$_address));
- }
+ $action_params['responsible'] =
$_account_id;
+ $rcpt =
$GLOBALS['phpgw']->send->msg('email', $_address, $subject,
stripslashes($message), '', $cc, $bcc, $coordinator_email, $coordinator_name,
'html');
+ if($rcpt)
+ {
+
$receipt['message'][]=array('msg'=>lang('%1 is notified',$_address));
+ }
-
execMethod('property.sopending_action.set_pending_action', $action_params);
- }
+
execMethod('property.sopending_action.set_pending_action', $action_params);
}
}
else
@@ -2497,7 +2493,9 @@
'lang_file_statustext' =>
lang('Select file to upload'),
'textareacols'
=>
isset($GLOBALS['phpgw_info']['user']['preferences']['property']['textareacols'])
&& $GLOBALS['phpgw_info']['user']['preferences']['property']['textareacols'] ?
$GLOBALS['phpgw_info']['user']['preferences']['property']['textareacols'] : 60,
'textarearows'
=>
isset($GLOBALS['phpgw_info']['user']['preferences']['property']['textarearows'])
&& $GLOBALS['phpgw_info']['user']['preferences']['property']['textarearows'] ?
$GLOBALS['phpgw_info']['user']['preferences']['property']['textarearows'] : 6,
- 'order_cat_list'
=> $order_catetory
+ 'order_cat_list'
=> $order_catetory,
+ 'building_part_list' =>
array('status_list' => $this->bocommon->select_category_list(array('type'=>
'building_part','selected' =>$ticket['building_part'], 'order' => 'id',
'id_in_name' => 'num' ))),
+ 'order_dim1_list'
=> array('status_list' => $this->bocommon->select_category_list(array('type'=>
'order_dim1','selected' =>$ticket['order_dim1'], 'order' => 'id', 'id_in_name'
=> 'num' ))),
);
//---datatable settings--------------------
Modified:
people/sigurdne/modules/property/trunk/inc/cron/default/export_info_as_files.php
===================================================================
---
people/sigurdne/modules/property/trunk/inc/cron/default/export_info_as_files.php
2010-02-07 10:45:18 UTC (rev 21026)
+++
people/sigurdne/modules/property/trunk/inc/cron/default/export_info_as_files.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -38,10 +38,9 @@
function export_info_as_files()
{
- // $this->currentapp =
$GLOBALS['phpgw_info']['flags']['currentapp'];
$this->bocommon =
CreateObject('property.bocommon');
- $this->db =
$this->bocommon->new_db();
- $this->db2 =
$this->bocommon->new_db($this->db);
+ $this->db = &
$GLOBALS['phpgw']->db;
+ $this->db2 =
clone($this->db);
$this->soadmin_location =
CreateObject('property.soadmin_location');
$this->join =
$this->db->join;
Modified:
people/sigurdne/modules/property/trunk/inc/cron/default/import_files.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/cron/default/import_files.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/cron/default/import_files.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -38,10 +38,9 @@
function import_files()
{
- // $this->currentapp =
$GLOBALS['phpgw_info']['flags']['currentapp'];
$this->bocommon =
CreateObject('property.bocommon');
- $this->db =
$this->bocommon->new_db();
- $this->db2 =
$this->bocommon->new_db($this->db);
+ $this->db = &
$GLOBALS['phpgw']->db;
+ $this->db2 =
clone($this->db);
$this->soadmin_location =
CreateObject('property.soadmin_location');
$this->join =
$this->db->join;
Modified:
people/sigurdne/modules/property/trunk/inc/cron/default/import_from_scanner.php
===================================================================
---
people/sigurdne/modules/property/trunk/inc/cron/default/import_from_scanner.php
2010-02-07 10:45:18 UTC (rev 21026)
+++
people/sigurdne/modules/property/trunk/inc/cron/default/import_from_scanner.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -55,8 +55,7 @@
// $this->currentapp =
$GLOBALS['phpgw_info']['flags']['currentapp'];
$this->bocommon =
CreateObject('property.bocommon');
$this->bofiles =
CreateObject('property.bofiles');
- $this->db = $this->bocommon->new_db();
-
+ $this->db = &
$GLOBALS['phpgw']->db;
}
function pre_run($data='')
@@ -383,10 +382,10 @@
}
else
{
- $sql = "SELECT count(*) FROM fm_tts_tickets
WHERE id='$id'";
+ $sql = "SELECT count(*) as cnt FROM
fm_tts_tickets WHERE id='$id'";
$this->db->query($sql,__LINE__,__FILE__);
$this->db->next_record();
- if($this->db->f(0))
+ if($this->db->f('cnt'))
{
return true;
}
Modified:
people/sigurdne/modules/property/trunk/inc/cron/default/oppdater_antall_leieobjekt.php
===================================================================
---
people/sigurdne/modules/property/trunk/inc/cron/default/oppdater_antall_leieobjekt.php
2010-02-07 10:45:18 UTC (rev 21026)
+++
people/sigurdne/modules/property/trunk/inc/cron/default/oppdater_antall_leieobjekt.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -38,10 +38,9 @@
function oppdater_antall_leieobjekt()
{
- // $this->currentapp =
$GLOBALS['phpgw_info']['flags']['currentapp'];
$this->bocommon =
CreateObject('property.bocommon');
- $this->db =
$this->bocommon->new_db();
- $this->db2 =
$this->bocommon->new_db($this->db);
+ $this->db = &
$GLOBALS['phpgw']->db;
+ $this->db2 =
clone($this->db);
$this->join =
$this->db->join;
}
Modified:
people/sigurdne/modules/property/trunk/inc/cron/default/oppdater_namssakstatus_pr_leietaker.php
===================================================================
---
people/sigurdne/modules/property/trunk/inc/cron/default/oppdater_namssakstatus_pr_leietaker.php
2010-02-07 10:45:18 UTC (rev 21026)
+++
people/sigurdne/modules/property/trunk/inc/cron/default/oppdater_namssakstatus_pr_leietaker.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -38,10 +38,9 @@
function oppdater_namssakstatus_pr_leietaker()
{
- // $this->currentapp =
$GLOBALS['phpgw_info']['flags']['currentapp'];
$this->bocommon =
CreateObject('property.bocommon');
- $this->db =
$this->bocommon->new_db();
- $this->db2 =
$this->bocommon->new_db($this->db);
+ $this->db = &
$GLOBALS['phpgw']->db;
+ $this->db2 =
clone($this->db);
$this->join =
$this->db->join;
$this->like =
$this->db->like;
$this->left_join = " LEFT JOIN ";
Modified:
people/sigurdne/modules/property/trunk/inc/cron/default/organize_drawing.php
===================================================================
---
people/sigurdne/modules/property/trunk/inc/cron/default/organize_drawing.php
2010-02-07 10:45:18 UTC (rev 21026)
+++
people/sigurdne/modules/property/trunk/inc/cron/default/organize_drawing.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -46,13 +46,11 @@
function organize_drawing()
{
- // $this->currentapp =
$GLOBALS['phpgw_info']['flags']['currentapp'];
$this->bocommon =
CreateObject('property.bocommon');
$this->vfs = CreateObject('phpgwapi.vfs');
$this->rootdir = $this->vfs->basedir;
$this->fakebase = $this->vfs->fakebase;
- $this->db = $this->bocommon->new_db();
-
+ $this->db = &
$GLOBALS['phpgw']->db;
}
function pre_run($data='')
@@ -311,12 +309,12 @@
function check_building($loc1='',$loc2='')
{
- $sql = "SELECT count(*) FROM fm_location2 WHERE loc1=
'$loc1' AND loc2= '$loc2'";
+ $sql = "SELECT count(*) as cnt FROM fm_location2 WHERE
loc1= '$loc1' AND loc2= '$loc2'";
//_debug_array($sql);
$this->db->query($sql,__LINE__,__FILE__);
$this->db->next_record();
- if($this->db->f(0))
+ if($this->db->f('cnt'))
{
return true;
}
Modified:
people/sigurdne/modules/property/trunk/inc/cron/default/update_googlemap.php
===================================================================
---
people/sigurdne/modules/property/trunk/inc/cron/default/update_googlemap.php
2010-02-07 10:45:18 UTC (rev 21026)
+++
people/sigurdne/modules/property/trunk/inc/cron/default/update_googlemap.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -38,10 +38,9 @@
function update_googlemap()
{
- // $this->currentapp =
$GLOBALS['phpgw_info']['flags']['currentapp'];
$this->bocommon =
CreateObject('property.bocommon');
- $this->db =
$this->bocommon->new_db();
- $this->db2 =
$this->bocommon->new_db($this->db);
+ $this->db = &
$GLOBALS['phpgw']->db;
+ $this->db2 =
clone($this->db);
$this->join =
$this->db->join;
$this->like =
$this->db->like;
Modified: people/sigurdne/modules/property/trunk/inc/hook_home.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/hook_home.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/inc/hook_home.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -43,7 +43,7 @@
$default_status =
isset($prefs['property']['tts_status']) ? $prefs['property']['tts_status'] : '';
$tts = CreateObject('property.sotts');
- $tickets = $tts->read(array('user_id' => $accound_id,
'status_id' => array($default_status, 'O')));
+ $tickets = $tts->read(array('user_id' => $accound_id,
'status_id' => array($default_status, 'O'), 'new' => true));
$total_records = $tts->total_records;
$portalbox = CreateObject('phpgwapi.listbox', array
Modified: people/sigurdne/modules/property/trunk/setup/phpgw_no.lang
===================================================================
--- people/sigurdne/modules/property/trunk/setup/phpgw_no.lang 2010-02-07
10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/setup/phpgw_no.lang 2010-02-07
10:47:13 UTC (rev 21027)
@@ -26,6 +26,7 @@
activity num property no Aktivitet num
actor property no Aktør
actual cost property no Faktisk kostnad
+actual_cost property no Faktisk kostnad
actual cost changed property no Faktisk kostnad er endret
actual cost - paid so far property no Faktisk betalt - pr dd
add a apartment property no Legg til leilighet
@@ -719,6 +720,7 @@
equipment id property no utstyr ID
equipment_id property no utstyr ID
equipment type property no Type utstyr/anlegg
+estimate property no Kostnadsestimat
event property no Hendelse
event action property no Handling ved hendelse
events property no Hendelser
@@ -1059,6 +1061,7 @@
open edit in new window property no Åpne endring i nytt
vindu
open view in new window property no Åpne visning i nytt
vindu
order property no bestill
+order_dim1 property no Aktivitet
order id property no OrdreNr
order_id property no OrdreNr
order # that initiated the invoice property no Order nr som
referanse for fakturaen
Modified: people/sigurdne/modules/property/trunk/setup/setup.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/setup/setup.inc.php 2010-02-07
10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/setup/setup.inc.php 2010-02-07
10:47:13 UTC (rev 21027)
@@ -12,7 +12,7 @@
*/
$setup_info['property']['name'] = 'property';
- $setup_info['property']['version'] = '0.9.17.578';
+ $setup_info['property']['version'] = '0.9.17.579';
$setup_info['property']['app_order'] = 8;
$setup_info['property']['enable'] = 1;
$setup_info['property']['app_group'] = 'office';
@@ -136,6 +136,7 @@
'fm_ecobilag_category',
'fm_ecodimb',
'fm_ecodimd',
+ 'fm_order_dim1',
'fm_ecologg',
'fm_ecomva',
'fm_ecouser',
Modified: people/sigurdne/modules/property/trunk/setup/tables_current.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/setup/tables_current.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/setup/tables_current.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -875,7 +875,9 @@
'ecodimb' => array('type' => 'int','precision'
=> 4,'nullable' => True),
'budget' => array('type' => 'int','precision'
=> '4','nullable' => True),
'actual_cost' => array('type' =>
'decimal','precision' => '20','scale' => '2','nullable' => True,'default' =>
'0.00'),
- 'order_cat_id' => array('type' =>
'int','precision' => '4','nullable' => True)
+ 'order_cat_id' => array('type' =>
'int','precision' => '4','nullable' => True),
+ 'building_part'=> array('type' =>
'varchar','precision' => 4,'nullable' => True),
+ 'order_dim1'=> array('type' =>
'int','precision' => 4,'nullable' => True)
),
'pk' => array('id'),
'ix' => array(),
@@ -1062,6 +1064,17 @@
'fk' => array(),
'uc' => array()
),
+ 'fm_order_dim1' => array(
+ 'fd' => array(
+ 'id' => array('type' => 'int','precision' =>
'4','nullable' => False),
+ 'num' => array('type' => 'varchar','precision'
=> '20','nullable' => False),
+ 'descr' => array('type' =>
'varchar','precision' => '255','nullable' => False)
+ ),
+ 'pk' => array('id'),
+ 'ix' => array(),
+ 'fk' => array(),
+ 'uc' => array()
+ ),
'fm_ecomva' => array(
'fd' => array(
'id' => array('type' => 'int','precision' =>
'4','nullable' => False),
Modified: people/sigurdne/modules/property/trunk/setup/tables_update.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/setup/tables_update.inc.php
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/setup/tables_update.inc.php
2010-02-07 10:47:13 UTC (rev 21027)
@@ -186,9 +186,9 @@
$GLOBALS['phpgw_setup']->oProc->query("UPDATE
fm_location_attrib SET custom = 1");
- $GLOBALS['phpgw_setup']->oProc->query("SELECT count(*) FROM
fm_location_type");
+ $GLOBALS['phpgw_setup']->oProc->query("SELECT count(*) as cnt
FROM fm_location_type");
$GLOBALS['phpgw_setup']->oProc->next_record();
- $locations = $GLOBALS['phpgw_setup']->oProc->f(0);
+ $locations = $GLOBALS['phpgw_setup']->oProc->f('cnt');
for ($location_type=1; $location_type<($locations+1);
$location_type++)
{
@@ -393,9 +393,9 @@
$datatype_text[$datatype];
- $GLOBALS['phpgw_setup']->oProc->query("SELECT count(*) FROM
fm_location_type");
+ $GLOBALS['phpgw_setup']->oProc->query("SELECT count(*) as cnt
FROM fm_location_type");
$GLOBALS['phpgw_setup']->oProc->next_record();
- $locations = $GLOBALS['phpgw_setup']->oProc->f(0);
+ $locations = $GLOBALS['phpgw_setup']->oProc->f('cnt');
for ($location_type=1; $location_type<($locations+1);
$location_type++)
{
@@ -3897,7 +3897,7 @@
/**
- * Update property version from 0.9.17.576 to 0.9.17.577
+ * Update property version from 0.9.17.577 to 0.9.17.578
* Add order categories to ticket ad hoc orders
*
*/
@@ -3916,3 +3916,37 @@
}
}
+ /**
+ * Update property version from 0.9.17.578 to 0.9.17.579
+ * Add custom dimension for orders
+ *
+ */
+
+ $test[] = '0.9.17.578';
+ function property_upgrade0_9_17_578()
+ {
+ $GLOBALS['phpgw_setup']->oProc->m_odb->transaction_begin();
+
+
$GLOBALS['phpgw_setup']->oProc->AddColumn('fm_tts_tickets','building_part',array('type'
=> 'varchar','precision' => 4,'nullable' => True));
+
$GLOBALS['phpgw_setup']->oProc->AddColumn('fm_tts_tickets','order_dim1',array('type'
=> 'int','precision' => 4,'nullable' => True));
+
+ $GLOBALS['phpgw_setup']->oProc->CreateTable(
+ 'fm_order_dim1', array(
+ 'fd' => array(
+ 'id' => array('type' =>
'auto','precision' => 4,'nullable' => False),
+ 'num' => array('type' =>
'varchar','precision' => 20,'nullable' => False),
+ 'descr' => array('type' =>
'varchar','precision' => 255,'nullable' => False)
+ ),
+ 'pk' => array('id'),
+ 'ix' => array(),
+ 'fk' => array(),
+ 'uc' => array()
+ )
+ );
+
+ if($GLOBALS['phpgw_setup']->oProc->m_odb->transaction_commit())
+ {
+ $GLOBALS['setup_info']['property']['currentver'] =
'0.9.17.579';
+ return $GLOBALS['setup_info']['property']['currentver'];
+ }
+ }
Modified: people/sigurdne/modules/property/trunk/templates/base/event_form.xsl
===================================================================
--- people/sigurdne/modules/property/trunk/templates/base/event_form.xsl
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/templates/base/event_form.xsl
2010-02-07 10:47:13 UTC (rev 21027)
@@ -9,7 +9,14 @@
self.name="first_Window";
function event_lookup_<xsl:value-of select="name"/>()
{
- Window1=window.open('<xsl:value-of
select="event_link"/>',"Search","width=800,height=700,toolbar=no,scrollbars=yes,resizable=yes");
+ var oArgs = <xsl:value-of select="event_link"/>;
+ if(document.form.<xsl:value-of
select="name"/>.value)
+ {
+ oArgs['id'] =
document.form.<xsl:value-of select="name"/>.value;
+ }
+
+ var strURL = phpGWLink('index.php', oArgs);
+
Window1=window.open(strURL,"Search","width=800,height=700,toolbar=no,scrollbars=yes,resizable=yes");
}
</script>
<tr>
Modified: people/sigurdne/modules/property/trunk/templates/base/tts.xsl
===================================================================
--- people/sigurdne/modules/property/trunk/templates/base/tts.xsl
2010-02-07 10:45:18 UTC (rev 21026)
+++ people/sigurdne/modules/property/trunk/templates/base/tts.xsl
2010-02-07 10:47:13 UTC (rev 21027)
@@ -1089,23 +1089,40 @@
<xsl:call-template
name="vendor_form"/>
<xsl:call-template
name="ecodimb_form"/>
<xsl:call-template
name="b_account_form"/>
-<!--
+
<tr>
<td>
- <xsl:value-of
select="php:function('lang', 'order category')" />
+ <xsl:value-of
select="php:function('lang', 'building part')" />
</td>
<td>
- <xsl:variable
name="lang_cat_statustext"><xsl:value-of select="php:function('lang', 'select
order category')" /></xsl:variable>
- <select
name="values[order_cat_id]" title="{$lang_cat_statustext}">
+ <select
name="values[building_part]" >
+
<xsl:attribute name="title">
+
<xsl:value-of select="php:function('lang', 'select building part')" />
+
</xsl:attribute>
<option value="0">
-
<xsl:value-of select="php:function('lang', 'select order category')" />
+
<xsl:value-of select="php:function('lang', 'select building part')" />
</option>
-
<xsl:apply-templates select="order_cat_list/cat_list"/>
+
<xsl:apply-templates select="building_part_list/status_list"/>
</select>
</td>
</tr>
--->
<tr>
+ <td>
+ <xsl:value-of
select="php:function('lang', 'order_dim1')" />
+ </td>
+ <td>
+ <select
name="values[order_dim1]" >
+
<xsl:attribute name="title">
+
<xsl:value-of select="php:function('lang', 'order_dim1')" />
+
</xsl:attribute>
+
<option value="0">
+
<xsl:value-of select="php:function('lang', 'order_dim1')" />
+
</option>
+
<xsl:apply-templates select="order_dim1_list/status_list"/>
+
</select>
+ </td>
+ </tr>
+ <tr>
<td valign="top">
<xsl:value-of
select="php:function('lang', 'cost estimate')" />
</td>
@@ -1156,16 +1173,14 @@
<xsl:for-each select="value_approval_mail_address" >
<tr>
<td>
-
<input type="checkbox"
name="values[approval][{id}]" value="True">
+
<input type="checkbox"
name="values[approval][{id}]" value="{address}">
<xsl:attribute name="title">
-
<xsl:value-of
select="//lang_ask_approval_statustext"/>
+
<xsl:value-of
select="php:function('lang', 'ask for approval')" />
</xsl:attribute>
</input>
</td>
<td valign='top'>
<xsl:value-of select="address"/>
-
<input type="hidden"
name="values[mail_address][{id}]" value="{address}">
-
</input>
</td>
</tr>
</xsl:for-each>
@@ -1175,31 +1190,12 @@
</xsl:when>
</xsl:choose>
<tr>
- <td>
+ <td valign='top'>
<xsl:value-of
select="php:function('lang', 'send order')" />
</td>
<td>
<table>
- <tr>
-
<td>
-
<input type="checkbox" name="values[send_order]" value="True">
-
<xsl:attribute name="title">
-
<xsl:value-of select="php:function('lang', 'send order')" />
-
</xsl:attribute>
-
</input>
-
</td>
-
<td>
-
<select name="values[vendor_email]">
-
<xsl:attribute name="title">
-
<xsl:value-of select="php:function('lang', 'The address to which
this order will be sendt')" />
-
</xsl:attribute>
-
<option value="">
-
<xsl:value-of select="php:function('lang', 'select
email')" />
-
</option>
-
<xsl:apply-templates select="vendor_email"/>
-
</select>
-
</td>
- </tr>
+
<xsl:apply-templates select="vendor_email"/>
</table>
</td>
</tr>
@@ -1739,15 +1735,17 @@
</option>
</xsl:template>
-
- <xsl:template match="vendor_email">
- <xsl:variable name="email"><xsl:value-of select="email"/></xsl:variable>
- <xsl:choose>
- <xsl:when test="selected">
- <option value="{$email}"
selected="selected"><xsl:value-of disable-output-escaping="yes"
select="email"/></option>
- </xsl:when>
- <xsl:otherwise>
- <option value="{$email}"><xsl:value-of
disable-output-escaping="yes" select="email"/></option>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:template match="vendor_email" xmlns:php="http://php.net/xsl">
+ <tr>
+ <td>
+ <input type="checkbox"
name="values[vendor_email][]" value="{email}" >
+ <xsl:attribute name="title">
+ <xsl:value-of
select="php:function('lang', 'The address to which this order will be sendt')"
/>
+ </xsl:attribute>
+ </input>
+ </td>
+ <td>
+ <xsl:value-of select="email"/>
+ </td>
+ </tr>
</xsl:template>
Modified:
people/sigurdne/modules/property/trunk/tutorials/property/examples/install.apache.sh
===================================================================
---
people/sigurdne/modules/property/trunk/tutorials/property/examples/install.apache.sh
2010-02-07 10:45:18 UTC (rev 21026)
+++
people/sigurdne/modules/property/trunk/tutorials/property/examples/install.apache.sh
2010-02-07 10:47:13 UTC (rev 21027)
@@ -75,6 +75,7 @@
#/**
# * Oracle PDO-Support
# * Download:
http://www.oracle.com/technology/software/tech/oci/instantclient/index.html
+# * http://lacot.org/
# */
ORACLETAR="instantclient-basic-linux32-11.2.0.1.zip"
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] [21027] Improvements / fixes and new features for property 4686:4746,
Sigurd Nes <=