phpgroupware-cvs
[Top][All Lists]
Advanced

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

[Phpgroupware-cvs] [20936] improvement and fixes: property module update


From: Sigurd Nes
Subject: [Phpgroupware-cvs] [20936] improvement and fixes: property module updated from upstream
Date: Tue, 05 Jan 2010 21:40:00 +0000

Revision: 20936
          
http://svn.sv.gnu.org/viewvc/?view=rev&root=phpgroupware&revision=20936
Author:   sigurdne
Date:     2010-01-05 21:40:00 +0000 (Tue, 05 Jan 2010)
Log Message:
-----------
improvement and fixes: property module updated from upstream

Modified Paths:
--------------
    people/sigurdne/modules/property/trunk/inc/class.boalarm.inc.php
    people/sigurdne/modules/property/trunk/inc/class.bocommon.inc.php
    people/sigurdne/modules/property/trunk/inc/class.boevent.inc.php
    people/sigurdne/modules/property/trunk/inc/class.bogab.inc.php
    people/sigurdne/modules/property/trunk/inc/class.boinvoice.inc.php
    people/sigurdne/modules/property/trunk/inc/class.bolocation.inc.php
    people/sigurdne/modules/property/trunk/inc/class.bolookup.inc.php
    people/sigurdne/modules/property/trunk/inc/class.botts.inc.php
    people/sigurdne/modules/property/trunk/inc/class.sogab.inc.php
    people/sigurdne/modules/property/trunk/inc/class.soinvoice.inc.php
    people/sigurdne/modules/property/trunk/inc/class.uigab.inc.php
    people/sigurdne/modules/property/trunk/inc/class.uiinvoice.inc.php
    people/sigurdne/modules/property/trunk/inc/class.uilookup.inc.php
    people/sigurdne/modules/property/trunk/inc/class.uirequest.inc.php
    people/sigurdne/modules/property/trunk/inc/class.uitts.inc.php
    people/sigurdne/modules/property/trunk/inc/class.uiwo_hour.inc.php
    people/sigurdne/modules/property/trunk/inc/class.uiworkorder.inc.php
    people/sigurdne/modules/property/trunk/inc/import/default/Import_fra_BKK_csv
    people/sigurdne/modules/property/trunk/inc/ods/ods.php
    people/sigurdne/modules/property/trunk/js/yahoo/invoice.list_sub.js
    people/sigurdne/modules/property/trunk/templates/base/config.tpl

Added Paths:
-----------
    
people/sigurdne/modules/property/trunk/inc/cron/default/Import_fra_basware_X205.php

Removed Paths:
-------------
    
people/sigurdne/modules/property/trunk/inc/import/default/Import_fra_basware_X205

Modified: people/sigurdne/modules/property/trunk/inc/class.boalarm.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.boalarm.inc.php    
2010-01-05 21:38:51 UTC (rev 20935)
+++ people/sigurdne/modules/property/trunk/inc/class.boalarm.inc.php    
2010-01-05 21:40:00 UTC (rev 20936)
@@ -395,20 +395,18 @@
                        $current_prefs_user = 
$this->bocommon->create_preferences('property',$alarm['owner']);
                        $current_user_address=$current_prefs_user['email'];
 
-                       $headers = "Return-Path: <". $current_user_address 
.">\r\n";
-                       $headers .= "From: " . $current_user_name . "<" . 
$current_user_address .">\r\n";
-//                     $headers .= "Bcc: " . $current_user_name . "<" . 
$current_user_address .">\r\n";
-                       $headers .= "Content-type: text/html; 
charset=iso-8859-1\r\n";
-                       $headers .= "MIME-Version: 1.0\r\n";
-
        //-----------from--------
                // build body
-                       $body  = '';
-                       $body .= lang('Alarm').' #'.$alarm['event_id']."\n";
+                       
+                       $info = explode(':', $alarm['id']);
+                       
+                       $body = lang('Alarm').' #'.$alarm['event_id']."\n";
                        $body .= lang('Name').': '.$alarm['event_name']."\n";
+                       $body .= '<a href ="http://' . 
$GLOBALS['phpgw_info']['server']['hostname'] . 
$GLOBALS['phpgw']->link('/index.php',array('menuaction'=> 
"property.ui{$info[0]}.edit", 'id'=> $info[1])).'">' . $alarm['event_name'] 
."</a>\n";
                        if(!is_array($alarm['time']))
                        {
-                               $body .= lang('Deadline').': '. 
$GLOBALS['phpgw']->common->show_date(($alarm['time']+$alarm['offset'])) ."\n";
+                               $dateformat     = 
$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'];
+                               $body .= lang('Deadline').': '. 
$GLOBALS['phpgw']->common->show_date(($alarm['time']+$alarm['offset']),$dateformat)
 ."\n";
                        }
                        $body .= lang('Assigned To').': 
'.$GLOBALS['phpgw']->accounts->id2name($alarm['owner'])."\n";
 
@@ -446,7 +444,8 @@
 
                        if 
(isset($GLOBALS['phpgw_info']['server']['smtp_server']) && 
$GLOBALS['phpgw_info']['server']['smtp_server'])
                        {
-                               $rc = $this->send->msg('email', $to, $subject, 
stripslashes($body), '', $cc, 
$bcc,$current_user_address,$current_user_name,'txt');
+                               $body = nl2br($body);
+                               $rc = $this->send->msg('email', $to, $subject, 
$body, '', $cc, $bcc,$current_user_address,$current_user_name,'html');
                        }
                        else
                        {

Modified: people/sigurdne/modules/property/trunk/inc/class.bocommon.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.bocommon.inc.php   
2010-01-05 21:38:51 UTC (rev 20935)
+++ people/sigurdne/modules/property/trunk/inc/class.bocommon.inc.php   
2010-01-05 21:40:00 UTC (rev 20936)
@@ -436,11 +436,11 @@
                                foreach ($users_gross as $entry => $user)
                                {
 
-                                       if( !array_search($user['account_id'], 
$accounts ) )
+                                       if( 
!isset($accounts[$user['account_id']]) )
                                        {
                                                $users[] = $user;
                                        }
-                                       $accounts[] = $user['account_id'];
+                                       $accounts[$user['account_id']] = true;
                                }
                                unset($users_gross);
                                unset($accounts);
@@ -2012,6 +2012,12 @@
                        {
                                $values['location_name']        = 
phpgw::get_var('loc' . (count($values['location'])).'_name', 'string', 'POST'); 
// if not address - get the parent name as address
                        }
+
+                       if(isset($values['location']) && $values['location'])
+                       {
+                               phpgwapi_cache::session_set('property', 
'filter_location', implode('-', $values['location']));
+                       }
+
                        return $values;
                }
 

Modified: people/sigurdne/modules/property/trunk/inc/class.boevent.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.boevent.inc.php    
2010-01-05 21:38:51 UTC (rev 20935)
+++ people/sigurdne/modules/property/trunk/inc/class.boevent.inc.php    
2010-01-05 21:40:00 UTC (rev 20936)
@@ -370,7 +370,7 @@
                                $this->so->cron_log(array
                                        (
                                                'cron'          => true, // or 
false for manual...
-                                               'action'        => 
$data['action'],
+                                               'action'        => 
isset($data['action']) && $data['action'] ? $data['action'] : 'dummy',
                                                'message'       => $message
                                        )
                                );

Modified: people/sigurdne/modules/property/trunk/inc/class.bogab.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.bogab.inc.php      
2010-01-05 21:38:51 UTC (rev 20935)
+++ people/sigurdne/modules/property/trunk/inc/class.bogab.inc.php      
2010-01-05 21:40:00 UTC (rev 20936)
@@ -40,6 +40,7 @@
                var $sort;
                var $order;
                var $cat_id;
+               var $gab_insert_level;
 
                var $public_functions = array
                (
@@ -50,11 +51,11 @@
                        'check_perms'           => true
                );
 
-               function property_bogab($session=false)
+               function __construct($session=false)
                {
                        $this->solocation       = 
CreateObject('property.solocation');
                        $this->so               = 
CreateObject('property.sogab');
-
+                       $this->gab_insert_level         = 
$this->so->gab_insert_level;
                        if ($session)
                        {
                                $this->read_sessiondata();

Modified: people/sigurdne/modules/property/trunk/inc/class.boinvoice.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.boinvoice.inc.php  
2010-01-05 21:38:51 UTC (rev 20935)
+++ people/sigurdne/modules/property/trunk/inc/class.boinvoice.inc.php  
2010-01-05 21:40:00 UTC (rev 20936)
@@ -459,12 +459,24 @@
                        $contacts       = CreateObject('property.soactor');
                        $contacts->role='vendor';
 
-                       $vendor_data    = 
$contacts->read_single(array('actor_id'=>$vendor_id));
+                       $criteria = array
+                       (
+                               'attributes' => array
+                               (
+                                       array
+                                       (
+                                               'column_name' => 'org_name'
+                                       )
+                               )
+                       );
+
+                       $vendor_data    = $contacts->read_single($vendor_id, 
$criteria);
+
                        if(is_array($vendor_data))
                        {
                                foreach($vendor_data['attributes'] as 
$attribute)
                                {
-                                       if($attribute['name']=='org_name')
+                                       
if($attribute['column_name']=='org_name')
                                        {
                                                return $attribute['value'];
                                        }
@@ -474,26 +486,53 @@
 
                function set_responsible($values,$user_id='',$b_account_id='')
                {
+                       $responsible            = 
CreateObject('property.soresponsible');
                        if (!$values['budget_responsible'])
                        {
+//             var $bestiller = 85; //cat_id for rolle
+//             var $attestant = 83; //cat_id for rolle
+//             var $budsjettansvarlig = 82; //cat_id for rolle
+
+                               $criteria_budget_responsible            = 
array('ecodimb' => $values['dimb'], 'cat_id' => 
82);//$this->budsjettansvarlig); //anviser
+                               $budget_responsible_contact_id          = 
$responsible->get_responsible($criteria_budget_responsible);
+                               $budget_responsible_user_id                     
= $responsible->get_contact_user_id($budget_responsible_contact_id);
+                               $values['budget_responsible']           = 
$GLOBALS['phpgw']->accounts->get($budget_responsible_user_id)->lid;
+                               $values['budsjettansvarligid']          = 
$values['budget_responsible'];
+                       }
+
+                       if (!$values['budget_responsible'])
+                       {
                                $values['budget_responsible'] = 
$this->soXport->get_responsible($b_account_id);
                                $values['budsjettansvarligid'] = 
$values['budget_responsible'];
                        }
 
+
+                       if(!$values['supervisor'])
+                       {
+                               $criteria_supervisor                            
= array('ecodimb' => $values['dimb'], 'cat_id' => 83);//$this->attestant); // 
attestere
+                               $supervisor_contact_id                          
= $responsible->get_responsible($criteria_supervisor);
+                               $supervisor_user_id                             
        = $responsible->get_contact_user_id($supervisor_contact_id);
+                               $values['supervisor']                           
= $GLOBALS['phpgw']->accounts->get($supervisor_user_id)->lid;
+                               $values['saksbehandlerid']                      
= $values['supervisor'];
+                       }
+
+                       $values['janitor']                              = 
$GLOBALS['phpgw']->accounts->get($user_id)->lid;
+                       $values['oppsynsmannid']                = 
$values['janitor'];
+
+                       if(!$values['supervisor'])
+                       {
                        $acl    = CreateObject('phpgwapi.acl',$user_id);
-                       if($acl->check('.invoice', 32, 'property') && 
!$acl->check('.invoice', 64, 'property')):
+                               if($acl->check('.invoice', 32, 'property') && 
!$acl->check('.invoice', 64, 'property'))
                        {
-                               $values['janitor']      = 
$GLOBALS['phpgw']->accounts->id2name($user_id);
+                                       $values['janitor']      = 
$GLOBALS['phpgw']->accounts->get($user_id)->lid;
                                $values['oppsynsmannid']        = 
$values['janitor'];
                        }
-       //              elseif((!$acl->check('.invoice', 32, 'property') && 
$acl->check('.invoice', 64, 'property')) || ($acl->check('.invoice', 32, 
'property') && $acl->check('.invoice', 64, 'property'))):
-                       elseif($acl->check('.invoice', 64, 'property')):
+                               else if($acl->check('.invoice', 64, 'property'))
                        {
-                               $values['supervisor']   = 
$GLOBALS['phpgw']->accounts->id2name($user_id);
+                                       $values['supervisor']   = 
$GLOBALS['phpgw']->accounts->get($user_id)->lid;
                                $values['saksbehandlerid']      = 
$values['supervisor'];
                        }
-                       endif;
-
+                       }
                        return $values;
                }
        }

Modified: people/sigurdne/modules/property/trunk/inc/class.bolocation.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.bolocation.inc.php 
2010-01-05 21:38:51 UTC (rev 20935)
+++ people/sigurdne/modules/property/trunk/inc/class.bolocation.inc.php 
2010-01-05 21:40:00 UTC (rev 20936)
@@ -280,6 +280,11 @@
                        }
 
                        $filter_location        = 
isset($data['filter_location']) ? $data['filter_location'] : '';
+                       if(!$filter_location)
+                       {
+                               $filter_location = 
phpgwapi_cache::session_get('property', 'filter_location');
+                               phpgwapi_cache::session_clear('property', 
'filter_location');
+                       }
                        $block_query            = !!$filter_location;
                        $location_link          = 
"menuaction:'property.uilocation.index',lookup:1,location_code:'{$filter_location}',block_query:'{$block_query}'";
 

Modified: people/sigurdne/modules/property/trunk/inc/class.bolookup.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.bolookup.inc.php   
2010-01-05 21:38:51 UTC (rev 20935)
+++ people/sigurdne/modules/property/trunk/inc/class.bolookup.inc.php   
2010-01-05 21:40:00 UTC (rev 20936)
@@ -138,9 +138,27 @@
                        $criteria = $addressbook->criteria_contacts(1, 
$category_filter, 'person', $this->query, $fields_search);
                        $this->total_records = 
$addressbook->get_count_persons($criteria);
 
-                       $entries = $addressbook->get_persons($fields, 
$this->limit, $this->start, $this->order, $this->sort, '', $criteria);
+                       $contacts = $addressbook->get_persons($fields, 
$this->limit, $this->start, $this->order, $this->sort, '', $criteria);
 
-                       return $entries;
+                       $accounts = $GLOBALS['phpgw']->accounts->get_list();
+                       $user_contacts = array();
+
+                       foreach($accounts as $account)
+                       {
+                               if(isset($account->person_id) && 
$account->person_id)
+                               {
+                                       $user_contacts[] = $account->person_id;
+                               }
+                       }
+                       foreach($contacts as &$contact)
+                       {
+                               if (in_array($contact['contact_id'], 
$user_contacts) )
+                               {
+                                       $contact['is_user'] = 'X';
+                               }
+                       }
+
+                       return $contacts;
                }
 
 

Modified: people/sigurdne/modules/property/trunk/inc/class.botts.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.botts.inc.php      
2010-01-05 21:38:51 UTC (rev 20935)
+++ people/sigurdne/modules/property/trunk/inc/class.botts.inc.php      
2010-01-05 21:40:00 UTC (rev 20936)
@@ -832,6 +832,7 @@
 
                        if ($this->config->config_data['ownernotification'] && 
$ticket['user_id'])
                        {
+
                                // add owner to recipients
                                $members[] = array('account_id' => 
$ticket['user_id'], 'account_name' => 
$GLOBALS['phpgw']->accounts->id2name($ticket['user_id']));
                        }
@@ -872,15 +873,26 @@
                                $to = current($toarray);
                        }
 
-                       $body = str_replace("\n" ,"</br>",$body);
+                       $body = nl2br($body);
+
+                       if($to)
+                       {
                        if 
(isset($GLOBALS['phpgw_info']['server']['smtp_server']) && 
$GLOBALS['phpgw_info']['server']['smtp_server'])
                        {
+                                       try
+                                       {
                                $rc = $this->send->msg('email', $to, $subject, 
stripslashes($body), '', $cc, 
$bcc,$current_user_address,$current_user_name,'html');
                        }
+                                       catch (phpmailerException $e)
+                                       {
+                                               $receipt['error'][] = 
array('msg' => $e->getMessage());
+                                       }
+                               }
                        else
                        {
                                $receipt['error'][] = array('msg'=>lang('SMTP 
server is not set! (admin section)'));
                        }
+                       }
 
                        if (!$rc && 
($this->config->config_data['groupnotification'] || 
$this->config->config_data['ownernotification'] || 
$this->config->config_data['groupnotification']))
                        {

Modified: people/sigurdne/modules/property/trunk/inc/class.sogab.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.sogab.inc.php      
2010-01-05 21:38:51 UTC (rev 20935)
+++ people/sigurdne/modules/property/trunk/inc/class.sogab.inc.php      
2010-01-05 21:40:00 UTC (rev 20936)
@@ -35,7 +35,7 @@
        class property_sogab
        {
                var $gab_insert_level;
-               var $payment_date;
+               var $payment_date = array();
 
                function __construct()
                {
@@ -44,6 +44,7 @@
                        $this->db           = & $GLOBALS['phpgw']->db;
                        $this->db2          = clone($this->db);
                        $this->join                     = & $this->db->join;
+                       $this->left_join        = & $this->db->left_join;
                        $this->like                     = & $this->db->like;
 
                        $this->config           = 
CreateObject('phpgwapi.config','property');
@@ -141,7 +142,26 @@
 
                        if($check_payments)
                        {
-                               $sql = "SELECT gab_id,count(gab_id) as hits, 
address ,fm_gab_location.loc1 as location_code, fm_gab_location.owner as owner 
FROM fm_gab_location $joinmethod $filtermethod GROUP BY 
gab_id,fm_gab_location.loc1,address,owner ";
+//                             $sql = "SELECT gab_id,count(gab_id) as hits, 
address ,fm_gab_location.loc1 as location_code, fm_gab_location.owner as owner 
FROM fm_gab_location $joinmethod $filtermethod GROUP BY 
gab_id,fm_gab_location.loc1,address,owner ";
+//                             $sql = "SELECT DISTINCT gab_id, 
fm_gab_location.loc1 as location_code, fm_gab_location.owner as owner FROM 
fm_gab_location $joinmethod $filtermethod GROUP BY 
gab_id,fm_gab_location.loc1,address,owner ";
+//                             $sql = "SELECT gab_id, fm_gab_location.loc1 as 
location_code, fm_gab_location.owner as owner FROM fm_gab_location $joinmethod 
$filtermethod GROUP BY gab_id,fm_gab_location.loc1,address,owner ";
+
+                               $spvend_code = 9901;
+                               $spbudact_code = '11954111';
+                               
switch($GLOBALS['phpgw_info']['server']['db_type'])
+                               {
+                                       case 'postgres':
+                                               $due_date               = 
"to_char(forfallsdato,'MM/YYYY') as due_date";
+                                               break;
+                                       default:
+                                               $due_date               = 
"to_char(forfallsdato,'MM/YYYY') as due_date";
+                               }
+
+                               $sql = "SELECT sum(belop) as paid, 
count(fm_ecobilagoverf.loc1) as hits, {$due_date}, fm_ecobilagoverf.loc1, owner"
+                                       . " FROM fm_ecobilagoverf 
{$this->left_join} fm_gab_location ON fm_ecobilagoverf.loc1 = 
fm_gab_location.loc1"
+                                       . " WHERE spvend_code = 
'{$spvend_code}' AND spbudact_code = '{$spbudact_code}'"
+                                       . " GROUP BY owner, 
forfallsdato,spbudact_code, fm_ecobilagoverf.loc1 ORDER BY forfallsdato ASC";
+
                        }
                        else
                        {
@@ -161,19 +181,21 @@
                        }
 
                        $gab_list = array();
+                       if(!$check_payments)
+                       {
                        while ($this->db->next_record())
                        {
                                $gab_list[] = array
                                (
                                        'gab_id'                => 
$this->db->f('gab_id'),
                                        'location_code' => 
$this->db->f('location_code'),
-                                       'address'               => 
stripslashes($this->db->f('address')),
+                                               'address'               => 
$this->db->f('address',true),
                                        'hits'                  => 
$this->db->f('hits'),
                                        'owner'                 => 
$this->db->f('owner')
                                        );
                        }
-
-                       if($check_payments)
+                       }
+                       else
                        {
                                
if($GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'])
                                {
@@ -184,26 +206,75 @@
                                        $dateformat = 'd-m-Y';
                                }
 
-                               for ($i=0;$i<count($gab_list);$i++)
+                               $gross_list = array();
+                               $dates = array();
+                               while ($this->db->next_record())
                                {
-                                       $sql = "SELECT * FROM fm_ecobilagoverf 
WHERE item_id = '" . $gab_list[$i]['gab_id'] . "'";
+                                       $gross_list[] = array
+                                       (
+                                               'gab_id'                => 
'00000000000000000000',//$this->db->f('gab_id'),
+                                               'location_code' => 
$this->db->f('loc1'),
+                                               'address'               => 
$this->db->f('address',true),
+                                               'hits'                  => 
$this->db->f('hits'),
+                                               'owner'                 => 
$this->db->f('owner'),
+                                               'paid'                  => 
$this->db->f('paid'),
+                                               'due_date'              => 
$this->db->f('due_date'),
+                                       );
+                                       $dates[$this->db->f('due_date')] = true;
+                               }
+
+                               $dates = array_keys($dates);
+                               $payment_date = array();
+                               $location_buffer = array();
+                               $i=0;
+                               foreach ($gross_list as $entry)
+                               {
+                                       
if(!isset($location_buffer[$entry['location_code']]))
+                                       {
+                                               $gab_list[$i] = array
+                                               (
+                                                       'location_code' => 
$entry['location_code'],
+                                                       'gab_id'                
=> $entry['gab_id'],
+                                                       'address'               
=> $entry['address'],
+                                                       'hits'                  
=> $entry['hits'],
+                                                       'owner'                 
=> $entry['owner']
+                                               );
+                                               
$location_buffer[$entry['location_code']] = true;
+                                               $j = $i;
+                                               $i++;
+                                       }
+                                       foreach ( $dates as $date )
+                                       {
+                                               $gab_list[$i]['payment'][$date] 
= $entry['paid'];
+                                       }
+                               }
+
+                               reset($dates);
+                               foreach ( $dates as $date )
+                               {
+                                       $payment_date[$date] = $date;
+                               }
+
+/*                             foreach ($gab_list as &$entry)
+                               {
+                                       $sql = "SELECT forfallsdato, belop FROM 
fm_ecobilagoverf WHERE item_id = '{$entry['gab_id']}' ORDER BY forfallsdato 
ASC";
                                        
$this->db->query($sql,__LINE__,__FILE__);
                                        while ($this->db->next_record())
                                        {
-                                               
$gab_list[$i]['payment'][date($dateformat,strtotime($this->db->f('forfallsdato')))]
 = $this->db->f('belop');
+                                               
$entry['payment'][date($dateformat,strtotime($this->db->f('forfallsdato')))] = 
$this->db->f('belop');
                                                
$payment_date[strtotime($this->db->f('forfallsdato'))] = 
date($dateformat,strtotime($this->db->f('forfallsdato')));
                                        }
 
-                                       $sql = "SELECT * FROM fm_ecobilag WHERE 
item_id = '" . $gab_list[$i]['gab_id'] . "'";
+                                       $sql = "SELECT forfallsdato, belop FROM 
fm_ecobilag WHERE item_id = '{$entry['gab_id']}'";
                                        
$this->db->query($sql,__LINE__,__FILE__);
                                        while ($this->db->next_record())
                                        {
-                                               
$gab_list[$i]['payment'][date($dateformat,strtotime($this->db->f('forfallsdato')))]
 = $this->db->f('belop');
+                                               
$entry['payment'][date($dateformat,strtotime($this->db->f('forfallsdato')))] = 
$this->db->f('belop');
                                                
$payment_date[strtotime($this->db->f('forfallsdato'))] = 
date($dateformat,strtotime($this->db->f('forfallsdato')));
                                        }
 
                                }
-
+*/
                                $this->payment_date=$payment_date;
                        }
 

Modified: people/sigurdne/modules/property/trunk/inc/class.soinvoice.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.soinvoice.inc.php  
2010-01-05 21:38:51 UTC (rev 20935)
+++ people/sigurdne/modules/property/trunk/inc/class.soinvoice.inc.php  
2010-01-05 21:40:00 UTC (rev 20936)
@@ -36,8 +36,9 @@
        {
                var $total_records = 0;
                var $role = array();
+               protected $invoice_approval = 2;
 
-               function property_soinvoice()
+               function __construct()
                {
                        $this->account_id       = 
$GLOBALS['phpgw_info']['user']['account_id'];
                        $this->acl                      = & 
$GLOBALS['phpgw']->acl;
@@ -45,6 +46,9 @@
                        $this->join                     = & $this->db->join;
                        $this->left_join        = & $this->db->left_join;
                        $this->like                     = & $this->db->like;
+                       $this->config           = 
CreateObject('phpgwapi.config','property');
+                       $this->config->read();
+                       $this->invoice_approval = 
isset($this->config->config_data['invoice_approval']) && 
$this->config->config_data['invoice_approval'] ? 
$this->config->config_data['invoice_approval'] : 2;
                }
 
                function read_invoice($data)
@@ -1109,7 +1113,6 @@
                                                                
$receipt['error'][] = array('msg'=>'Dette bilaget er ikkje godkjent: ' . " 
".$voucher_id);
                                                                $local_error= 
true;
                                                        }
-
                                                }
 
                                                if ($values['kreditnota'][$n])
@@ -1124,19 +1127,23 @@
 
                                                if (! $local_error)
                                                {
-                                                       $sql= "UPDATE 
fm_ecobilag set $blank_date $kommma_blank $sign_field $sign_id $kommma 
$sign_date_field $sign_date $kommma $transfer_sign_field $transfer_id 
$transfer_date_field $transfer_date ,kreditnota=$wait_for_kreditnota  where 
bilagsnr='$voucher_id'";
+                                                       $sql= "UPDATE 
fm_ecobilag SET $blank_date $kommma_blank $sign_field $sign_id $kommma 
$sign_date_field $sign_date $kommma $transfer_sign_field $transfer_id 
$transfer_date_field $transfer_date ,kreditnota=$wait_for_kreditnota  where 
bilagsnr='$voucher_id'";
                                                        
$GLOBALS['phpgw']->db->transaction_begin();
                                                        
$GLOBALS['phpgw']->db->query($sql);
-                                                       
$GLOBALS['phpgw']->db->transaction_commit();
-
+                                                       
if($GLOBALS['phpgw']->db->transaction_commit())
+                                                       {
                                                        $receipt['message'][] = 
array('msg'=> lang('voucher is updated: ') . $voucher_id);
                                                }
                                        }
                                }
                        }
+                       }
 
                        $GLOBALS['phpgw']->db->query("UPDATE fm_ecobilag set 
utbetalingid = NULL, utbetalingsigndato = NULL WHERE budsjettsigndato IS NULL");
+                       if($this->invoice_approval == 2)
+                       {
                        $GLOBALS['phpgw']->db->query("UPDATE fm_ecobilag set 
utbetalingid = NULL, utbetalingsigndato = NULL WHERE oppsynsigndato IS NULL AND 
saksigndato IS NULL");
+                       }
 
                        return $receipt;
                }
@@ -1150,10 +1157,20 @@
 
                        $this->db->next_record();
 
+                       if($this->invoice_approval == 1)
+                       {
+                               if ($this->db->f('budsjettsigndato'))
+                               {
+                                       $allow_transfer=true;
+                               }                       
+                       }
+                       else
+                       {
                        if ($this->db->f('budsjettsigndato') && 
($this->db->f('oppsynsigndato') || $this->db->f('saksigndato')))
                        {
                                $allow_transfer=true;
                        }
+                       }
 
                        return $allow_transfer;
                }

Modified: people/sigurdne/modules/property/trunk/inc/class.uigab.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.uigab.inc.php      
2010-01-05 21:38:51 UTC (rev 20935)
+++ people/sigurdne/modules/property/trunk/inc/class.uigab.inc.php      
2010-01-05 21:40:00 UTC (rev 20936)
@@ -56,7 +56,7 @@
                        'download'      => true
                );
 
-               function property_uigab()
+               function __construct()
                {
                        $GLOBALS['phpgw_info']['flags']['xslt_app'] = true;
                        $GLOBALS['phpgw_info']['flags']['menu_selection'] = 
'property::location::gabnr';
@@ -654,7 +654,7 @@
                                        'sort'                          => 
$datatable['sorting']['order'],
                                'dir'                           => 
$datatable['sorting']['sort'],
                                        'records'                       => 
array(),
-                       //          'headers'                   => 
$uicols_add['name'],
+                                   'headers'                   => 
$uicols_add['name'],
                                    'headers_all'               => 
$uicols['name']
                        );
 

Modified: people/sigurdne/modules/property/trunk/inc/class.uiinvoice.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.uiinvoice.inc.php  
2010-01-05 21:38:51 UTC (rev 20935)
+++ people/sigurdne/modules/property/trunk/inc/class.uiinvoice.inc.php  
2010-01-05 21:40:00 UTC (rev 20936)
@@ -606,34 +606,34 @@
                        $content = 
$this->bo->read_invoice($paid,$start_date,$end_date,$vendor_id,$loc1,$workorder_id,$voucher_id);
                        //_debug_array($content);
                        $uicols = array (
-                               'input_type'    =>      array(hidden,hidden     
,hidden ,hidden ,hidden,hidden,hidden,hidden,hidden     ,link,link              
,hidden,hidden,hidden,$paid?varchar:input,varchar,link  
,hidden,varchar,varchar,varchar,$paid?hidden:input,$paid?hidden:input,special,special,special,special2),
-                               'type'                  =>      array(number,'' 
        ,''             ,''             ,number,number,''         ,number,''    
,url ,msg_box   ,''    ,''    ,''    ,$paid?'':text             ,''     
,msg_box,''    ,''     ,''     ,''     ,$paid?'':checkbox ,$paid?'':radio       
 ,''     ,''     ,''     ,''     ),
+                               'input_type'    =>      array('hidden','hidden' 
,'hidden'       ,'hidden'       ,'hidden','hidden','hidden','hidden','hidden'   
,'link','link'          
,'hidden','hidden','hidden',$paid?'varchar':'input','varchar','link'  
,'hidden','varchar','varchar','varchar',$paid?'hidden':'input',$paid?'hidden':'input','special','special','special','special2'),
+                               'type'                  =>      
array('number',''               ,''             ,''             
,'number','number',''     ,'number',''  ,'url' ,'msg_box'       ,''    ,''    
,''    ,$paid?'':'text'           ,''     ,'msg_box',''    ,''     ,''     ,''  
   ,$paid?'':'checkbox' ,$paid?'':'radio'  ,''     ,''     ,''     ,''     ),
 
-                               'col_name'              =>      
array(payment_date,transfer,kreditnota,sign,vendor_name,counter_num,counter,voucher_id_num,voucher_id,voucher_id_lnk,voucher_date_lnk,sign_orig
 
,num_days_orig,timestamp_voucher_date,num_days,amount_lnk,vendor_id_lnk,invoice_count,invoice_count_lnk,type_lnk,period,kreditnota_tmp,sign_tmp
      ,janitor_lnk,supervisor_lnk,budget_responsible_lnk,transfer_lnk),
-                               'name'                  =>      
array(payment_date,dummy,dummy,dummy,vendor,counter,counter,voucher_id    
,voucher_id,voucher_id    ,voucher_date    ,sign_orig,num_days     
,timestamp_voucher_date,num_days,amount    ,vendor_id    
,invoice_count,invoice_count    ,type    ,period,kreditnota,empty_fild,janitor  
  ,supervisor    ,budget_responsible    ,transfer_id),
+                               'col_name'              =>      
array('payment_date','transfer','kreditnota','sign','vendor_name','counter_num','counter','voucher_id_num','voucher_id','voucher_id_lnk','voucher_date_lnk','sign_orig'
 
,'num_days_orig','timestamp_voucher_date','num_days','amount_lnk','vendor_id_lnk','invoice_count','invoice_count_lnk','type_lnk','period','kreditnota_tmp','sign_tmp'
 ,'janitor_lnk','supervisor_lnk','budget_responsible_lnk','transfer_lnk'),
+                               'name'                  =>      
array('payment_date','dummy','dummy','dummy','vendor','counter','counter','voucher_id'
    ,'voucher_id','voucher_id'    ,'voucher_date'    ,'sign_orig','num_days'    
 ,'timestamp_voucher_date','num_days','amount'    ,'vendor_id'    
,'invoice_count','invoice_count'    ,'type'    
,'period','kreditnota','empty_fild','janitor'    ,'supervisor'    
,'budget_responsible'    ,'transfer_id'),
 
-                               'formatter'             =>      
array('','','','','','','','','','','','','','','',myFormatDate,'','','','',$paid?'':myPeriodDropDown,'','','','','',''),
+                               'formatter'             =>      
array('','','','','','','','','','','','','','','','myFormatDate','','','','',$paid?'':'myPeriodDropDown','','','','','',''),
 
-                               'descr'                 =>      
array(dummy,dummy,dummy,dummy,dummy,dummy,dummy,dummy,dummy,lang('voucher'),lang('Voucher
 
Date'),dummy,dummy,dummy,lang('Days'),lang('Sum'),lang('Vendor'),dummy,lang('Count'),lang('Type'),lang('Period'),lang('KreditNota'),lang('None'),lang('Janitor'),lang('Supervisor'),lang('Budget
 Responsible'),lang('Transfer')),
+                               'descr'                 =>      
array('dummy','dummy','dummy','dummy','dummy','dummy','dummy','dummy','dummy',lang('voucher'),lang('Voucher
 
Date'),'dummy','dummy','dummy',lang('Days'),lang('Sum'),lang('Vendor'),'dummy',lang('Count'),lang('Type'),lang('Period'),lang('KreditNota'),lang('None'),lang('Janitor'),lang('Supervisor'),lang('Budget
 Responsible'),lang('Transfer')),
                                'className'             =>      
array('','','','','','','','','','','centerClasss','','','',$paid?'rightClasss':'','rightClasss','rightClasss','','rightClasss','',$paid?'centerClasss':'comboClasss','centerClasss','centerClasss','','','centerClasss','centerClasss')
                                );
 
                        //url to detail of voucher
                        $link_sub       =       
$GLOBALS['phpgw']->link('/index.php',array('menuaction'=> 
'property.uiinvoice.list_sub','user_lid'=>$this->user_lid));
 
-
                        if($paid)
                        {
                                 $link_sub.="&paid=true";
                        }
 
                        $j=0;
+                       $count_uicols = count($uicols['name']);
                        //---- llena DATATABLE-ROWS con los valores del READ
                        if (isset($content) && is_array($content))
                        {
                                foreach($content as $invoices)
                                {
-                                       for 
($i=0;$i<count($uicols['name']);$i++)
+                                       for ($i=0;$i<$count_uicols;$i++)
                                        {
                                                //values column kreditnota
                                                
if($uicols['type'][$i]=='checkbox' && $uicols['col_name'][$i]=='kreditnota_tmp')
@@ -687,7 +687,7 @@
                                                                        {
                                                                                
if( ($invoices['is_janitor']== 1 && $type_sign == 'janitor') || 
($invoices['is_supervisor']== 1 && $type_sign == 'supervisor') || 
($invoices['is_budget_responsible']== 1 && $type_sign == 'budget_responsible'))
                                                                                
{
-                                                                               
        if( ( ($invoices['jan_date'] == '') && $type_sign == 'janitor') || 
(($invoices['super_date'] == '') && $type_sign == 'supervisor') || 
(($invoices['budget_date'] == '') && $type_sign == 'budget_responsible'))
+                                                                               
        if( ( (!$invoices['jan_date']) && $type_sign == 'janitor') || 
((!$invoices['super_date']) && $type_sign == 'supervisor') || 
((!$invoices['budget_date']) && $type_sign == 'budget_responsible'))
                                                                                
        {
                                                                                
                $datatable['rows']['row'][$j]['column'][$i]['name']             
        = 'sign_tmp';
                                                                                
                $datatable['rows']['row'][$j]['column'][$i]['type']             
        = 'radio';
@@ -695,7 +695,7 @@
                                                                                
                $datatable['rows']['row'][$j]['column'][$i]['extra_param']      
= "";
                                                                                
        }
 
-                                                                               
        elseif( (($invoices['janitor'] == $invoices['current_user']) && 
$type_sign == 'janitor')  || (($invoices['supervisor'] == 
$invoices['current_user']) && $type_sign == 'supervisor') || 
(($invoices['budget_responsible'] == $invoices['current_user']) && $type_sign 
== 'budget_responsible'))
+                                                                               
        else if( (($invoices['janitor'] == $invoices['current_user']) && 
$type_sign == 'janitor')  || (($invoices['supervisor'] == 
$invoices['current_user']) && $type_sign == 'supervisor') || 
(($invoices['budget_responsible'] == $invoices['current_user']) && $type_sign 
== 'budget_responsible'))
                        {
                                                                                
                $datatable['rows']['row'][$j]['column'][$i]['name']             
= 'sign_tmp';
                                                                                
                $datatable['rows']['row'][$j]['column'][$i]['type']             
= 'radio';
@@ -714,7 +714,7 @@
                                                                                
}
                                                                                
else
                                                                                
{
-                                                                               
        if( ($invoices['jan_date']=='' && $type_sign == 'janitor') || 
($invoices['super_date']=='' && $type_sign == 'supervisor') || 
($invoices['budget_date']=='' && $type_sign == 'budget_responsible') )
+                                                                               
        if( (!$invoices['jan_date'] && $type_sign == 'janitor') || 
(!$invoices['super_date'] && $type_sign == 'supervisor') || 
(!$invoices['budget_date'] && $type_sign == 'budget_responsible') )
                                                                                
        {
                                                                                
        }
                                                                                
        else
@@ -725,8 +725,8 @@
                                                                                
                $datatable['rows']['row'][$j]['column'][$i]['extra_param']      
= " disabled=\"disabled\" checked ";
                                                                                
        }
                                                                                
}
-                                                                               
$datatable['rows']['row'][$j]['column'][$i]['value2'] = ($type_sign == 
'janitor'? $invoices['janitor']: ($type_sign == 'supervisor'? 
$invoices['supervisor'] : $invoices['budget_responsible']));
-                                                                               
$datatable['rows']['row'][$j]['column'][$i]['value0'] = ($type_sign == 
'supervisor'? $invoices['super_date']: "");
+                                                                               
$datatable['rows']['row'][$j]['column'][$i]['value2'] = $type_sign == 
'janitor'? $invoices['janitor']: ($type_sign == 'supervisor'? 
$invoices['supervisor'] : $invoices['budget_responsible']);
+                                                                               
$datatable['rows']['row'][$j]['column'][$i]['value0'] = $type_sign == 
'janitor'? $invoices['jan_date']: ($type_sign == 'supervisor'? 
$invoices['super_date'] : $invoices['budget_date']);
                                                                        }
                                                                        else 
//if($paid)
                                                                        {
@@ -736,7 +736,6 @@
                                                                //---- 
speciual2----
                                                                
elseif($uicols['input_type'][$i]=='special2')
                                                                        {
-
                                                                                
// the same name of columns
                                                                                
$type_sign =  $datatable['rows']['row'][$j]['column'][$i]['format'] = 
$uicols['name'][$i];
                                                                                
$datatable['rows']['row'][$j]['column'][$i]['for_json']                         
= $uicols['col_name'][$i];
@@ -746,7 +745,7 @@
                        {
                                                                                
        if( ($invoices['is_transfer']==1))
                                                                                
        {
-                                                                               
                if( ($invoices['transfer_date']==''))
+                                                                               
                if(!$invoices['transfer_date'])
                                                                                
                {
                                                                                
                        $datatable['rows']['row'][$j]['column'][$i]['name']     
                = 'transfer_tmp';
                                                                                
                        $datatable['rows']['row'][$j]['column'][$i]['type']     
                = 'checkbox';
@@ -1237,35 +1236,43 @@
 
                        $uicols = array (
                                array(
-                                       'col_name'=>workorder           
,'label'=>lang('Workorder'),    'className'=>'centerClasss', 'sortable'=>true,  
'sort_field'=>'pmwrkord_code',  'visible'=>true),
+                                       'col_name'=>'workorder'         
,'label'=>lang('Workorder'),    'className'=>'centerClasss', 'sortable'=>true,  
'sort_field'=>'pmwrkord_code',  'visible'=>true),
                                array(
                                        
'col_name'=>'project_group','label'=>lang('project group'),     
'className'=>'centerClasss', 'sortable'=>false, 'sort_field'=>'',               
                'visible'=>true),
                                array(
-                                       'col_name'=>close_order,        
'label'=>lang('Close order'),   'className'=>'centerClasss', 'sortable'=>false, 
'sort_field'=>'',                               'visible'=>true),
+                                       'col_name'=>'close_order',      
'label'=>lang('Close order'),   'className'=>'centerClasss', 'sortable'=>false, 
'sort_field'=>'',                               'visible'=>true),
                                array(
-                                       'col_name'=>paid_percent,       
'label'=>lang('paid percent'),  'className'=>'centerClasss', 'sortable'=>false, 
'sort_field'=>'',                               'visible'=>true),
+                                       'col_name'=>'paid_percent',     
'label'=>lang('paid percent'),  'className'=>'centerClasss', 'sortable'=>false, 
'sort_field'=>'',                               'visible'=>true),
                                array(
-                                       'col_name'=>change_tenant,      
'label'=>lang('Charge tenant'), 'className'=>'centerClasss', 'sortable'=>false, 
'sort_field'=>'',                               'visible'=>true),
+                                       'col_name'=>'change_tenant',    
'label'=>lang('Charge tenant'), 'className'=>'centerClasss', 'sortable'=>false, 
'sort_field'=>'',                               'visible'=>true),
                                array(
-                                       'col_name'=>invoice_id,         
'label'=>lang('Invoice Id'),    'className'=>'centerClasss', 'sortable'=>false, 
'sort_field'=>'',                               'visible'=>true),
+                                       'col_name'=>'invoice_id',               
'label'=>lang('Invoice Id'),    'className'=>'centerClasss', 'sortable'=>false, 
'sort_field'=>'',                               'visible'=>true),
                                array(
-                                       'col_name'=>budget_Account,     
'label'=>lang('Budget account'),'className'=>'centerClasss', 'sortable'=>true,  
'sort_field'=>'spbudact_code',  'visible'=>true),
+                                       'col_name'=>'budget_Account',   
'label'=>lang('Budget account'),'className'=>'centerClasss', 'sortable'=>true,  
'sort_field'=>'spbudact_code',  'visible'=>true),
                                array(
-                                       'col_name'=>sum,                        
'label'=>lang('Sum'),                   'className'=>'rightClasss', 
'sortable'=>true,   'sort_field'=>'belop',                  'visible'=>true),
+                                       'col_name'=>'sum',                      
'label'=>lang('Sum'),                   'className'=>'rightClasss', 
'sortable'=>true,   'sort_field'=>'belop',                  'visible'=>true),
                                array(
-                                       'col_name'=>dim_A,                      
'label'=>lang('Dim A'),                 'className'=>'centerClasss', 
'sortable'=>true,  'sort_field'=>'dima',                   'visible'=>true),
+                                       'col_name'=>'dim_A',                    
'label'=>lang('Dim A'),                 'className'=>'centerClasss', 
'sortable'=>true,  'sort_field'=>'dima',                   'visible'=>true),
                                array(
-                                       'col_name'=>dim_B,                      
'label'=>lang('Dim B'),                 'className'=>'centerClasss', 
'sortable'=>false, 'sort_field'=>'',                               
'visible'=>true),
+                                       'col_name'=>'dim_B',                    
'label'=>lang('Dim B'),                 'className'=>'centerClasss', 
'sortable'=>false, 'sort_field'=>'',                               
'visible'=>true),
                                array(
-                                       'col_name'=>dim_D,                      
'label'=>lang('Dim D'),                 'className'=>'centerClasss', 
'sortable'=>false, 'sort_field'=>'',                               
'visible'=>true),
+                                       'col_name'=>'dim_D',                    
'label'=>lang('Dim D'),                 'className'=>'centerClasss', 
'sortable'=>false, 'sort_field'=>'',                               
'visible'=>true),
                                array(
-                                       'col_name'=>Tax_code,           
'label'=>lang('Tax code'),              'className'=>'centerClasss', 
'sortable'=>false, 'sort_field'=>'',                               
'visible'=>true),
+                                       'col_name'=>'Tax_code',         
'label'=>lang('Tax code'),              'className'=>'centerClasss', 
'sortable'=>false, 'sort_field'=>'',                               
'visible'=>true),
                                array(
-                                       'col_name'=>Remark,                     
'label'=>lang('Remark'),                'className'=>'centerClasss', 
'sortable'=>false, 'sort_field'=>'',                               
'visible'=>true),
+                                       'col_name'=>'Remark',                   
'label'=>lang('Remark'),                'className'=>'centerClasss', 
'sortable'=>false, 'sort_field'=>'',                               
'visible'=>true),
                                array(
-                                       'col_name'=>counter,            
'visible'=>false)
+                                       'col_name'=>'external_ref'              
,'label'=>lang('external_ref'), 'className'=>'centerClasss', 'sortable'=>false, 
'sort_field'=>'',                       'visible'=>true),
+                               array(
+                                       'col_name'=>'counter',          
'visible'=>false)
                                );
 
+
+                       $config         = 
CreateObject('phpgwapi.config','property');
+                       $config->read();
+                       $baseurl_invoice = 
isset($config->config_data['baseurl_invoice']) && 
$config->config_data['baseurl_invoice'] ? 
$config->config_data['baseurl_invoice'] : '';
+                       $lang_picture = lang('picture');
+
                        $j=0;
                        //---- llena DATATABLE-ROWS con los valores del READ
                        if (isset($content) && is_array($content))
@@ -1465,8 +1472,20 @@
                                                                
$json_row[$uicols[$i]['col_name']]  .= "<b>-</b>";
                                                        }
                                                }
-                                               elseif($i == 13)
+                                               elseif(($i == 13))
                                                {
+                                                       
if(isset($invoices['external_ref']) && $invoices['external_ref'])
+                                                       {
+                                                       //      
$json_row[$uicols[$i]['col_name']] = " <a target='_blank' 
href='".$baseurl_invoice. $invoices['external_ref']."'>{$lang_picture}</a>";
+                                                               
$json_row[$uicols[$i]['col_name']] = " <a 
href=\"javascript:openwindow('".$baseurl_invoice. $invoices['external_ref']. 
"','640','800')\" >{$lang_picture}</a>";
+                                                       }
+                                                       else
+                                                       {
+                                                               
$json_row[$uicols[$i]['col_name']]  .= "<b>-</b>";
+                                                       }
+                                               }
+                                               elseif($i == 14)
+                                               {
                                                        
$json_row[$uicols[$i]['col_name']]  = $invoices['counter'];
                                                }                               
        
                                        }
@@ -2332,16 +2351,15 @@
                        if($add_invoice && is_array($values))
                        {
 
-                               if($values['order_id'] && 
!ctype_digit($values['order_id'])):
+                               if($values['order_id'] && 
!ctype_digit($values['order_id']))
                                {
                                        
$receipt['error'][]=array('msg'=>lang('Please enter an integer for order!'));
                                        unset($values['order_id']);
                                }
-                               elseif($values['order_id']):
+                               else if($values['order_id'])
                                {
                                        $order=true;
                                }
-                               endif;
 
                                if (!$values['amount'])
                                {

Modified: people/sigurdne/modules/property/trunk/inc/class.uilookup.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.uilookup.inc.php   
2010-01-05 21:38:51 UTC (rev 20935)
+++ people/sigurdne/modules/property/trunk/inc/class.uilookup.inc.php   
2010-01-05 21:40:00 UTC (rev 20936)
@@ -214,11 +214,11 @@
                        }
 
                        $uicols = array (
-                               'input_type'    =>      array(text,text),
-                               'name'                  =>      
array(contact_id,contact_name),
-                               'sort_field'    =>      
array(person_id,last_name),
-                               'formatter'             =>      array('',''),
-                               'descr'                 =>      
array(lang('ID'),lang('Name'))
+                               'input_type'    =>      array('text','text'),
+                               'name'                  =>      
array('contact_id','contact_name','is_user'),
+                               'sort_field'    =>      
array('person_id','last_name'),
+                               'formatter'             =>      array('','',''),
+                               'descr'                 =>      
array(lang('ID'),lang('Name'), lang('is user'))
                        );
 
                        $addressbook_list = array();
@@ -232,10 +232,12 @@
                                {
                                        for 
($i=0;$i<count($uicols['name']);$i++)
                                        {
-                                                       if ($uicols['name'][$i] 
== 'contact_name'){
+                                               if ($uicols['name'][$i] == 
'contact_name')
+                                               {
                                                                
$datatable['rows']['row'][$j]['column'][$i]['value']    = 
$addressbook_entry['per_last_name'] . ', ' . 
$addressbook_entry['per_first_name'];
                                                        }
-                                                       else {
+                                               else
+                                               {
                                                                
$datatable['rows']['row'][$j]['column'][$i]['value']    = 
$addressbook_entry[$uicols['name'][$i]];
                                                        }
                                                        
$datatable['rows']['row'][$j]['column'][$i]['name']     = $uicols['name'][$i];

Modified: people/sigurdne/modules/property/trunk/inc/class.uirequest.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.uirequest.inc.php  
2010-01-05 21:38:51 UTC (rev 20935)
+++ people/sigurdne/modules/property/trunk/inc/class.uirequest.inc.php  
2010-01-05 21:40:00 UTC (rev 20936)
@@ -916,6 +916,7 @@
                                        if($values['location'])
                                        {
                                                $location_code=implode("-", 
$values['location']);
+                                               $values['extra']['view'] = true;
                                                $values['location_data'] = 
$this->bolocation->read_single($location_code,$values['extra']);
                                        }
 

Modified: people/sigurdne/modules/property/trunk/inc/class.uitts.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.uitts.inc.php      
2010-01-05 21:38:51 UTC (rev 20935)
+++ people/sigurdne/modules/property/trunk/inc/class.uitts.inc.php      
2010-01-05 21:40:00 UTC (rev 20936)
@@ -1773,7 +1773,8 @@
                                        $values['assignedto'] = $this->account;
                                }
                                $receipt = 
$this->bo->update_ticket($values,$id);
-                               if 
(isset($this->bo->config->config_data['mailnotification']) && 
$this->bo->config->config_data['mailnotification'])
+
+                               if ( isset($values['send_mail']) && 
$values['send_mail']) 
                                {
                                        $receipt = $this->bo->mail_ticket($id, 
$this->bo->fields_updated, $receipt);
                                }

Modified: people/sigurdne/modules/property/trunk/inc/class.uiwo_hour.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.uiwo_hour.inc.php  
2010-01-05 21:38:51 UTC (rev 20935)
+++ people/sigurdne/modules/property/trunk/inc/class.uiwo_hour.inc.php  
2010-01-05 21:40:00 UTC (rev 20936)
@@ -1377,6 +1377,7 @@
                                
                                
$this->create_html->add_file(array(PHPGW_SERVER_ROOT . 
'/property/templates/base/wo_hour'));
                                
$this->create_html->add_file(array(PHPGW_SERVER_ROOT . 
'/property/templates/base/location_view'));
+                               
$this->create_html->add_file(array(PHPGW_SERVER_ROOT . 
'/property/templates/base/contact_view'));
 
                                
$this->create_html->set_var('phpgw',array('email_data' => $email_data));
 

Modified: people/sigurdne/modules/property/trunk/inc/class.uiworkorder.inc.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/class.uiworkorder.inc.php        
2010-01-05 21:38:51 UTC (rev 20935)
+++ people/sigurdne/modules/property/trunk/inc/class.uiworkorder.inc.php        
2010-01-05 21:40:00 UTC (rev 20936)
@@ -999,7 +999,7 @@
                                }
                                if (isset($receipt['notice_owner']) && 
is_array($receipt['notice_owner'])
                                 && $config->config_data['mailnotification'] 
-                                && 
isset($GLOBALS['phpgw_info']['user']['preferences']['property']['notify_project_owner'])
 && 
$GLOBALS['phpgw_info']['user']['preferences']['property']['notify_project_owner']
 == 1)
+                                && 
isset($GLOBALS['phpgw_info']['user']['preferences']['property']['notify_project_owner'])
 && 
$GLOBALS['phpgw_info']['user']['preferences']['property']['notify_project_owner'])
                                {
                                        
if($this->account!=$project['coordinator'] && 
$config->config_data['workorder_approval'])
                                        {

Added: 
people/sigurdne/modules/property/trunk/inc/cron/default/Import_fra_basware_X205.php
===================================================================
--- 
people/sigurdne/modules/property/trunk/inc/cron/default/Import_fra_basware_X205.php
                         (rev 0)
+++ 
people/sigurdne/modules/property/trunk/inc/cron/default/Import_fra_basware_X205.php
 2010-01-05 21:40:00 UTC (rev 20936)
@@ -0,0 +1,430 @@
+<?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 import
+       * @version $Id: Import_fra_basware_X205.php 4418 2009-12-25 19:30:58Z 
sigurd $
+       */
+
+       /**
+        * Filteret benytter format X205 for integrasjon mellom Contempus 
Invoice og ClockWork Logistics.
+        * Formatet sender innskannede fakturaer fra Contempus til ClockWork - 
og Portico Estate
+        * @package property
+        */
+
+
+       class  Import_fra_basware_X205
+       {
+               var     $function_name = 'Import_fra_basware_X205';
+               var $auto_tax = true;
+               var $mvakode=0;
+               var $kildeid=1;
+               var $splitt=0;
+               var $soXport;
+               var $invoice;
+               var $bestiller = 85; //cat_id for rolle
+               var $attestant = 83; //cat_id for rolle
+               var $budsjettansvarlig = 82; //cat_id for rolle
+               var $default_kostra_id = 9999; //dummy
+
+               var $import = array(
+                       'Bilagsnr' => 'bilagsnr', 
+                       'Fakturanr' => 'fakturanr', 
+                       'Konto' => 'spbudact_code',
+                       'Objekt' => 'dima', //objectclass: organizationalPerson
+                       'DimB' => 'dimb',
+                       'KID' => 'kidnr',
+                       'MVA' => 'mvakode',
+                       'Tjeneste'=> 'kostra_id',
+                       'Belop [kr]' => 'belop',
+                       'Referanse' => 'referanse',
+                       'BOEI Gateadresse' => 'boei_gateadresse',
+                       );
+
+               var $header = 
array('Bilagsnr','Fakturanr','Konto','Objekt','DimB','KID','MVA','Tjeneste','Belop
 [kr]','Referanse');
+
+               function __construct()
+               {
+                       $this->soXport                  = 
CreateObject('property.soXport');     
+                       $this->invoice                  = 
CreateObject('property.soinvoice');
+                       $this->responsible              = 
CreateObject('property.soresponsible');
+                       $this->bocommon                 = 
CreateObject('property.bocommon');
+                       $this->db                               = & 
$GLOBALS['phpgw']->db;
+                       $this->join                             = & 
$this->db->join;
+                       $this->left_join                = & 
$this->db->left_join;
+                       $this->like                             = & 
$this->db->like;
+                       $this->dateformat               = 
$this->db->date_format();
+                       $this->datetimeformat   = $this->db->datetime_format();
+               }
+
+               function pre_run($data='')
+               {
+                       if($data['enabled']==1)
+                       {
+                               $confirm        = true;
+                               $cron           = true;
+                       }
+                       else
+                       {
+                               $confirm        = phpgw::get_var('confirm', 
'bool', 'POST');
+                               $execute        = phpgw::get_var('execute', 
'bool', 'GET');
+                       }
+
+                       if ($confirm)
+                       {
+                               $this->execute($cron);
+                       }
+                       else
+                       {
+                               $this->confirm($execute=false);
+                       }
+               }
+
+               function confirm($execute='')
+               {
+                       $link_data = array
+                       (
+                               'menuaction' => 
'property.custom_functions.index',
+                               'function'      =>$this->function_name,
+                               'execute'       => $execute,
+                       );
+
+
+                       if(!$execute)
+                       {
+                               $lang_confirm_msg       = lang('do you want to 
perform this action');
+                       }
+
+                       $lang_yes                       = lang('yes');
+
+                       
$GLOBALS['phpgw']->xslttpl->add_file(array('confirm_custom'));
+
+
+                       $msgbox_data = 
$this->bocommon->msgbox_data($this->receipt);
+
+                       $data = array
+                       (
+                               'msgbox_data'                   => 
$GLOBALS['phpgw']->common->msgbox($msgbox_data),
+                               'done_action'                   => 
$GLOBALS['phpgw']->link('/index.php', 
array('menuaction'=>'property.uiasync.index')),
+                               'run_action'                    => 
$GLOBALS['phpgw']->link('/index.php',$link_data),
+                               'message'                               => 
$this->receipt['message'],
+                               'lang_confirm_msg'              => 
$lang_confirm_msg,
+                               'lang_yes'                              => 
$lang_yes,
+                               'lang_yes_statustext'   => 'Importer faktura 
fra Basware',
+                               'lang_no_statustext'    => 'tilbake',
+                               'lang_no'                               => 
lang('no'),
+                               'lang_done'                             => 
'Avbryt',
+                               'lang_done_statustext'  => 'tilbake'
+                       );
+
+                       $appname                = lang('location');
+                       $function_msg   = 'Importer faktura fra Basware';
+                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('property') . ' - ' . $appname . ': ' . $function_msg;
+                       
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array('confirm' => $data));
+                       $GLOBALS['phpgw']->xslttpl->pp();
+               }
+
+               public function execute($cron='')
+               {
+                       $config = CreateObject('phpgwapi.config','property');
+                       $config->read();
+                       $dirname = $config->config_data['import_path'];
+                       // prevent path traversal
+                       if ( preg_match('/\./', $dirname) 
+                        || !is_dir($dirname) )
+                       {
+                               return array();
+                       }
+
+                       $file_list = array();
+                       $dir = new DirectoryIterator($dirname); 
+                       if ( is_object($dir) )
+                       {
+                               foreach ( $dir as $file )
+                               {
+                                       if ( $file->isDot()
+                                               || !$file->isFile()
+                                               || !$file->isReadable()
+                                               || strcasecmp( end( explode( 
".", $file->getPathname() ) ), 'xml' ) != 0 )
+                                       {
+                                               continue;
+                                       }
+
+                                       $file_list[] = (string) 
"{$dirname}/{$file}";
+                               }
+                       }
+
+                       if(is_writable("{$dirname}/archive"))
+                       {
+                               foreach($file_list as $file)
+                               {
+                                       $bilagsnr = $this->import($file);
+                                       if ($bilagsnr)
+                                       {
+                                               // move file
+                                               $_file = basename($file);
+                                               $movefrom = 
"{$dirname}/{$_file}";
+                                               $moveto = 
"{$dirname}/archive/{$_file}";
+
+                                               $ok = @rename($movefrom, 
$moveto);
+                                               if(!$ok) // Should never happen.
+                                               {
+                                                       
$this->invoice->delete($bilagsnr);
+                                                       
$this->receipt['error'][] = array('msg' => "Kunne ikke flytte importfil til 
arkiv, Bilag {$bilagsnr} er slettet");
+                                               }
+                                       }
+                               }
+                       }
+                       else
+                       {
+                               $this->receipt['error'][] = array('msg' => 
"Arkiv katalog '{$dirname}/archive/' ikke er ikke skrivbar - kontakt 
systemadminstrator for å korrigere");                   
+                       }
+
+                       if(!$cron)
+                       {
+                               $this->confirm($execute=false);
+                       }
+
+                       $msgbox_data = 
$this->bocommon->msgbox_data($this->receipt);
+
+                       $insert_values= array
+                       (
+                               $cron,
+                               date($this->bocommon->datetimeformat),
+                               $this->function_name,
+                               
$this->db->db_addslashes(implode(',',(array_keys($msgbox_data))))
+                       );
+
+                       $insert_values  = 
$this->db->validate_insert($insert_values);
+
+                       $sql = "INSERT INTO fm_cron_log 
(cron,cron_date,process,message) "
+                                       . "VALUES ($insert_values)";
+                       $this->db->query($sql,__LINE__,__FILE__);
+
+               }
+
+               function import($file)
+               {
+                       $valid_data= False;
+                       $bilagsnr = $this->invoice->next_bilagsnr();
+
+                       $buffer = array();
+
+                       $xmlparse = CreateObject('property.XmlToArray');
+                       $xmlparse->setEncoding('UTF-8');
+                       $var_result = $xmlparse->parseFile($file);
+
+                       set_time_limit(300);
+
+                       if (isset($var_result['INVOICES']) AND 
is_array($var_result['INVOICES']))
+                       {
+                               $transferdate =  str_replace('.', '-', 
$var_result['TRANSACTIONINFORMATION'][0]['TRANSFERDATE']);// 2009.05.28
+                               $transfertime =  
$var_result['TRANSACTIONINFORMATION'][0]['TRANSFERTIME'];// 13:10:28
+                               $regtid         = 
date($this->datetimeformat,strtotime("{$transferdate} {$transfertime}"));
+
+                               $i = 0;
+                               foreach ($var_result['INVOICES'] as $dummy => 
$entry)
+                               {
+                                       $_data = 
$entry['INVOICE'][0]['INVOICEHEADER'][0];
+                               
+//_debug_array($_data);
+//die();
+
+                                       $_data['KEY']; // => 1400050146
+//                                     $_data['SCANNINGNO']; // => 
11E28NJINL3VR6
+//                                     $_data['AMOUNT']; // => 312500
+                                       $_data['ARRIVAL']; // => 2009.05.28
+                                       $_data['CLIENT.CODE']; // => 14
+                                       $_data['CURRENCY.CURRENCYID']; // => NOK
+                                       $_data['EXCHANGERATE']; // => 1
+//                                     $_data['INVOICEDATE']; // => 2009.05.28
+                                       $_data['LOCALAMOUNT']; // => 312500
+                                       $_data['LOCALVATAMOUNT']; // => 62500
+//                                     $_data['MATURITY']; // => 2009.06.30
+                                       $_data['PAYAMOUNT']; // => 0
+                                       $_data['POSTATUSUPDATED']; // => 0
+//                                     $_data['PURCHASEORDERNO']; // => 
1409220008
+                                       $_data['PURCHASEORDERSTATUS.CODE']; // 
=> WaitForMatch
+                                       $_data['SUPPLIER.BANKGIRO']; // => 
70580621110
+//                                     $_data['SUPPLIER.CODE']; // => 100644
+//                                     $_data['SUPPLIERREF']; // => 7869
+                                       $_data['VATAMOUNT']; // => 62500
+
+
+                                       $order_id               = 
$_data['PURCHASEORDERNO'];
+                                       $fakturanr              = $_data['KEY'];
+                                       $fakturadato    = 
date($this->dateformat,strtotime(str_replace('.', '-', $_data['INVOICEDATE'])));
+                                       $forfallsdato   = 
date($this->dateformat,strtotime(str_replace('.', '-', $_data['MATURITY'])));
+                                       $periode                = 
date('n',strtotime(str_replace('.', '-', $_data['INVOICEDATE'])));
+                                       $belop                  = 
$_data['AMOUNT']/100;
+
+                                       if( $belop < 0 )
+                                       {
+                                               $buffer[$i]['artid'] = 2;
+                                       }
+                                       else
+                                       {
+                                               $buffer[$i]['artid'] = 1;       
                                
+                                       }
+
+                                       $kidnr  = $_data['KIDNO'];
+
+                                       $buffer[$i]['external_ref']             
= $_data['SCANNINGNO'];
+                                       $buffer[$i]['pmwrkord_code']    = 
$order_id;
+                                       $buffer[$i]['fakturanr']                
= $fakturanr;
+                                       $buffer[$i]['periode']                  
= $periode;
+                                       $buffer[$i]['forfallsdato']             
= $forfallsdato;
+                                       $buffer[$i]['fakturadato']              
= $fakturadato;
+                                       $buffer[$i]['belop']                    
= $belop;
+                                       $buffer[$i]['godkjentbelop']    = 
$belop;
+                                       
+                                       $buffer[$i]['kidnr']                    
= $kidnr;
+                                       $buffer[$i]['bilagsnr']                 
= $bilagsnr;
+                                       $buffer[$i]['referanse']                
= "ordre: {$order_id}";
+
+                                       $order_info = 
$this->get_order_info($order_id);
+
+                                       $buffer[$i]['dimb'] = 
$order_info['dimb'];
+                                       $buffer[$i]['dima'] = 
$order_info['dima'];
+                                       $buffer[$i]['loc1'] = 
$order_info['loc1'];
+
+                                       $buffer[$i]['mvakode'] = $this->mvakode;
+
+                                       if($buffer[$i]['dima'] && 
$this->auto_tax)
+                                       {
+                                               $mvakode = 
$this->soXport->auto_tax($buffer[$i]['dima']);
+                                       
+                                               if($mvakode)
+                                               {
+                                                       $buffer[$i]['mvakode'] 
= $mvakode;
+                                               }
+                                       }
+
+                                       if ($order_info['vendor_id'] != 
$_data['SUPPLIER.CODE'])
+                                       {
+                                               $this->receipt['error'][] = 
array('msg' => 'Manglende eller ikke treff på ordreNr');
+                                       }
+
+                                       $vendor_id = $order_info['vendor_id'];
+                                       
+                                       
+                                       if($this->auto_tax)
+                                       {
+                                               $buffer[$i]['mvakode'] = 
$this->soXport->tax_b_account_override($buffer[$i]['mvakode'], 
$order_info['spbudact_code']);
+                                               $buffer[$i]['mvakode'] = 
$this->soXport->tax_vendor_override($buffer[$i]['mvakode'], $vendor_id);
+                                       }
+
+                                       $buffer[$i]['kostra_id'] = 
$this->default_kostra_id;//$this->soXport->get_kostra_id($buffer[$i]['loc1']);
+                                       
+                                       $merknad = "lag meg ein link til bilde 
av faktura - ref: {$_data['SCANNINGNO']}";
+                                       
+                                       $buffer[$i]['merknad'] = $merknad;
+                                       $buffer[$i]['splitt'] = $this->splitt;
+                                       $buffer[$i]['kildeid'] = $this->kildeid;
+                                       $buffer[$i]['spbudact_code'] = 
$order_info['spbudact_code'];
+                                       $buffer[$i]['typeid'] = 
isset($invoice_common['type']) && $invoice_common['type'] ? 
$invoice_common['type'] : 1;
+                                       $buffer[$i]['regtid'] = $regtid;
+
+                                       $buffer[$i]['spvend_code'] = $vendor_id;
+
+                                       if(isset($order_info['janitor']) && 
$order_info['janitor'])
+                                       {
+                                               $buffer[$i]['oppsynsmannid'] = 
$order_info['janitor'];
+                                       }
+
+                                       if(isset($order_info['supervisor']) && 
$order_info['supervisor'])
+                                       {
+                                               $buffer[$i]['saksbehandlerid']  
        = $order_info['supervisor'];
+                                       }
+
+                                       
if(isset($order_info['budget_responsible']) && 
$order_info['budget_responsible'])
+                                       {
+                                               
$buffer[$i]['budsjettansvarligid']      = $order_info['budget_responsible'];
+                                       }
+
+                                       $i++;
+                               }
+                       }
+
+//_debug_array($buffer);
+//_debug_array($this->receipt);
+
+                       if(!isset($this->receipt['error']) || 
!$this->receipt['error'])
+                       {
+                               return $this->import_end_file($buffer);
+                       }
+                       return false;
+               }
+
+               function get_order_info($order_id = '')
+               {
+                       $order_info = array();
+                       $order_id = (int) $order_id;
+                       $sql = "SELECT 
fm_workorder.location_code,fm_workorder.vendor_id,fm_workorder.account_id,fm_workorder.ecodimb,
 fm_workorder.user_id"
+                       . " FROM fm_workorder {$this->join} fm_project ON 
fm_workorder.project_id = fm_project.id WHERE fm_workorder.id = $order_id";
+                       $this->db->query($sql,__LINE__,__FILE__);
+                       $this->db->next_record();
+                       if ($this->db->f('location_code'))
+                       { 
+                               $parts = 
explode('-',$this->db->f('location_code'));
+                               $order_info['dima'] = implode('', $parts);
+                               $order_info['loc1'] = $parts[0];
+                       }
+                       
+                       $order_info['vendor_id']                        = 
$this->db->f('vendor_id');
+                       $order_info['spbudact_code']            = 
$this->db->f('account_id');
+                       $order_info['dimb']                                     
= $this->db->f('ecodimb');
+                       
+//                     $criteria_janitor                                       
= array('ecodimb' => $order_info['dimb'], 'cat_id' => $this->bestiller ); 
//bestiller
+//                     $janitor_contact_id                                     
= $this->responsible->get_responsible($criteria_janitor);
+//                     $janitor_user_id                                        
= $this->responsible->get_contact_user_id($janitor_contact_id);
+                       $janitor_user_id                                        
= $this->db->f('user_id');
+                       $order_info['janitor']                          = 
$GLOBALS['phpgw']->accounts->get($janitor_user_id)->lid;
+
+                       $criteria_supervisor                            = 
array('ecodimb' => $order_info['dimb'], 'cat_id' => $this->attestant); // 
attestere
+                       $supervisor_contact_id                          = 
$this->responsible->get_responsible($criteria_supervisor);
+                       $supervisor_user_id                                     
= $this->responsible->get_contact_user_id($supervisor_contact_id);
+
+                       $order_info['supervisor']                       = 
$GLOBALS['phpgw']->accounts->get($supervisor_user_id)->lid;
+
+                       $criteria_budget_responsible            = 
array('ecodimb' => $order_info['dimb'], 'cat_id' => $this->budsjettansvarlig); 
//anviser
+                       $budget_responsible_contact_id          = 
$this->responsible->get_responsible($criteria_budget_responsible);
+                       $budget_responsible_user_id                     = 
$this->responsible->get_contact_user_id($budget_responsible_contact_id);
+                       $order_info['budget_responsible']       = 
$GLOBALS['phpgw']->accounts->get($budget_responsible_user_id)->lid;
+
+                       return $order_info;
+               }
+
+
+               function import_end_file($buffer)
+               {
+                       $num = $this->soXport->add($buffer);
+                       if($num > 0)
+                       {
+                               $this->receipt['message'][]= array('msg' => 
lang('Successfully imported %1 records into your invoice register.',$num).' 
'.lang('ID').': '. $buffer[0]['bilagsnr']);
+                               return $buffer[0]['bilagsnr'];
+                       }
+                       return false;
+               }
+       }

Modified: 
people/sigurdne/modules/property/trunk/inc/import/default/Import_fra_BKK_csv
===================================================================
--- 
people/sigurdne/modules/property/trunk/inc/import/default/Import_fra_BKK_csv    
    2010-01-05 21:38:51 UTC (rev 20935)
+++ 
people/sigurdne/modules/property/trunk/inc/import/default/Import_fra_BKK_csv    
    2010-01-05 21:40:00 UTC (rev 20936)
@@ -45,6 +45,9 @@
                var $soXport;
                var $invoice;
                var $meter_table;
+               var $bilagsnr_0 = 0;
+               var $bilagsnr_1 = 0;
+               var $bilagsnr_2 = 0;
 
                var $import = array(
                        'Bestilling' => 'pmwrkord_code', 
@@ -79,23 +82,17 @@
 
                function import_conv()
                {
-
-                       $this->currentapp       = 
$GLOBALS['phpgw_info']['flags']['currentapp'];
-                       $this->soXport          = 
CreateObject($this->currentapp.'.soXport');   
-                       $this->invoice          = 
CreateObject($this->currentapp.'.boinvoice');
-                       $this->bocommon         = 
CreateObject($this->currentapp.'.bocommon');
+                       $this->soXport          = 
CreateObject('property.soXport');     
+                       $this->invoice          = 
CreateObject('property.boinvoice');
+                       $this->bocommon         = 
CreateObject('property.bocommon');
                        $this->dateformat       = $this->bocommon->dateformat;
                        $this->datetimeformat   = 
$this->bocommon->datetimeformat;
-                       $this->next_bilagsnr    = 
$this->invoice->next_bilagsnr();
                        $this->config = 
CreateObject('phpgwapi.config','property');
                        $this->config->read_repository();
                        $this->meter_table = 
$this->config->config_data['meter_table'];
 
-               //      $this->db               = $GLOBALS['phpgw']->db;
                        $this->db               = $this->bocommon->new_db();
                        $this->join             = $this->bocommon->join;
-
-
                }
 
                function import($invoice_common,$download)
@@ -154,7 +151,7 @@
 
                        if(!$download)
                        {
-                               $buffer = 
$this->import_end_file($buffer,$invoice_common['bilagsnr']);
+                               $buffer = $this->import_end_file($buffer);
                        }
 
                        $this->header = array('Fakt. Nr','Måler 
nr','Konto','Objekt','MVA','Tjeneste','Belop [kr]','Omr','Adresse');
@@ -194,6 +191,18 @@
                                        $value = str_replace(' ','',$value);
                                        $value = str_replace(',','.',$value);
 
+
+                                       if($value < 0)
+                                       {
+                                               $buffer[$this->id]['artid'] = 
2;                                        
+                                               $buffer[$this->id]['bilagsnr'] 
= $this->next_bilagsnr_2();
+                                       }
+                                       else
+                                       {
+                                               $buffer[$this->id]['artid'] = 
$invoice_common['art'];
+                                               $buffer[$this->id]['bilagsnr'] 
= $this->next_bilagsnr_1();
+                                       }
+
                                        if( $invoice_common['art'] == 2 ) // 
kreditnota
                                        {
                                                $value = -1 * abs($value);
@@ -252,7 +261,6 @@
                                }
 
                                $buffer[$this->id][$name] = $value;
-                               $buffer[$this->id]['bilagsnr'] = 
$this->next_bilagsnr;
                                $buffer[$this->id]['fakturanr'] = 
$invoice_common['invoice_num'];
                                $buffer[$this->id]['dima'] = $dima;
                                $buffer[$this->id]['loc1'] = $loc1;
@@ -266,7 +274,7 @@
                                $buffer[$this->id]['forfallsdato'] = 
$payment_date;
                                $buffer[$this->id]['periode'] = 
$invoice_common['smonth'];
                                $buffer[$this->id]['regtid'] = 
date($this->datetimeformat);
-                               $buffer[$this->id]['artid'] = 
$invoice_common['art'];
+
                                $buffer[$this->id]['godkjentbelop'] = 
$godkjentbelop;
                                $buffer[$this->id]['spvend_code'] = 
$invoice_common['vendor_id'];
                                $buffer[$this->id]['dimb'] = 
$invoice_common['dim_b'];
@@ -304,11 +312,69 @@
                        return $maalerinfo;
                }
 
-               function import_end_file($buffer,$bilagsnr)
+               function import_end_file($buffer)
                {
                        $num    = $this->soXport->add($buffer);
-                       $receipt['message'][]= array('msg' => 
lang('Successfully imported %1 records into your invoice register.',$num).' 
'.lang('ID').': '. $bilagsnr);
+                       
+                       $_bilagsnr = array();
+                       if($this->bilagsnr_1)
+                       {
+                               $_bilagsnr[] = $this->bilagsnr_1;
+                       }
+                       if($this->bilagsnr_2)
+                       {
+                               $_bilagsnr[] = $this->bilagsnr_2;
+                       }
+                       
+                       $bilagsnr = max($_bilagsnr);
+                       $this->db->query("UPDATE fm_idgenerator SET VALUE 
={$bilagsnr} WHERE name = 'Bilagsnummer'");
+
+                       $receipt['message'][]= array('msg' => 
lang('Successfully imported %1 records into your invoice register.',$num).' 
'.lang('ID').': '. implode(',', $_bilagsnr));
                        return $receipt;
                }
+
+               protected function next_bilagsnr_1()
+               {
+                       if ($this->bilagsnr_1)
+                       {
+                               return $this->bilagsnr_1;
+                       }
+                       else
+                       {
+                               if(!$this->bilagsnr_0)
+                               {
+                                       $this->bilagsnr_0 = 
$this->invoice->next_bilagsnr();
+                                       $this->bilagsnr_1 = $this->bilagsnr_0;
+                               }
+                               else
+                               {
+                                       $this->bilagsnr_1 = $this->bilagsnr_0 + 
1;                              
+                               }
+
+                               return $this->bilagsnr_1;
+                       }
+               }
+
+               protected function next_bilagsnr_2()
+               {
+                       if ($this->bilagsnr_2)
+                       {
+                               return $this->bilagsnr_2;
+                       }
+                       else
+                       {
+                               if(!$this->bilagsnr_0)
+                               {
+                                       $this->bilagsnr_0 = 
$this->invoice->next_bilagsnr();
+                                       $this->bilagsnr_2 = $this->bilagsnr_0;
+                               }
+                               else
+                               {
+                                       $this->bilagsnr_2 = $this->bilagsnr_0 + 
1;                              
+                               }
+
+                               return $this->bilagsnr_2;
+                       }
+               }
        }
 ?>

Deleted: 
people/sigurdne/modules/property/trunk/inc/import/default/Import_fra_basware_X205
===================================================================
--- 
people/sigurdne/modules/property/trunk/inc/import/default/Import_fra_basware_X205
   2010-01-05 21:38:51 UTC (rev 20935)
+++ 
people/sigurdne/modules/property/trunk/inc/import/default/Import_fra_basware_X205
   2010-01-05 21:40:00 UTC (rev 20936)
@@ -1,307 +0,0 @@
-<?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 import
-       * @version $Id: Import_fra_basware_xml,v 1.13 2007/03/18 16:33:16 
sigurdne Exp $
-       */
-
-       /**
-        * Filteret benytter format X205 for integrasjon mellom Contempus 
Invoice og ClockWork Logistics.
-        * Formatet sender innskannede fakturaer fra Contempus til ClockWork - 
og Portico Estate
-        * @package property
-        */
-
-
-       class import_conv
-       {
-               var $mvakode=0;
-               var $kildeid=1;
-               var $splitt=0;
-               var $soXport;
-               var $invoice;
-               var $bestiller = 85; //cat_id for rolle
-               var $attestant = 84; //cat_id for rolle
-               var $budsjettansvarlig = 83; //cat_id for rolle
-
-               var $import = array(
-                       'Bilagsnr' => 'bilagsnr', 
-                       'Fakturanr' => 'fakturanr', 
-                       'Konto' => 'spbudact_code',
-                       'Objekt' => 'dima', //objectclass: organizationalPerson
-                       'DimB' => 'dimb',
-                       'KID' => 'kidnr',
-                       'MVA' => 'mvakode',
-                       'Tjeneste'=> 'kostra_id',
-                       'Belop [kr]' => 'belop',
-                       'Referanse' => 'referanse',
-                       'BOEI Gateadresse' => 'boei_gateadresse',
-                       );
-
-               var $header = 
array('Bilagsnr','Fakturanr','Konto','Objekt','DimB','KID','MVA','Tjeneste','Belop
 [kr]','Referanse');
-
-               function import_conv()
-               {
-                       $this->soXport                  = 
CreateObject('property.soXport');     
-                       $this->invoice                  = 
CreateObject('property.soinvoice');
-                       $this->responsible              = 
CreateObject('property.soresponsible');
-                       $this->db                               = & 
$GLOBALS['phpgw']->db;
-                       $this->join                             = & 
$this->db->join;
-                       $this->left_join                = & 
$this->db->left_join;
-                       $this->like                             = & 
$this->db->like;
-                       $this->dateformat               = 
$this->db->date_format();
-                       $this->datetimeformat   = $this->db->datetime_format();
-               }
-
-               function import($invoice_common,$download)
-               {
-                       $tsvfile        = $invoice_common['tsvfile'];
-                       $valid_data= False;
-                       $bilagsnr = $this->invoice->next_bilagsnr();
-
-                       $buffer = array();
-
-                       $xmlparse = CreateObject('property.XmlToArray');
-                       $xmlparse->setEncoding('UTF-8');
-                       $var_result = $xmlparse->parseFile($tsvfile);
-
-                       set_time_limit(300);
-
-                       if (isset($var_result['INVOICES']) AND 
is_array($var_result['INVOICES']))
-                       {
-                               $transferdate =  str_replace('.', '-', 
$var_result['TRANSACTIONINFORMATION'][0]['TRANSFERDATE']);// 2009.05.28
-                               $transfertime =  
$var_result['TRANSACTIONINFORMATION'][0]['TRANSFERTIME'];// 13:10:28
-                               $regtid         = 
date($this->datetimeformat,strtotime("{$transferdate} {$transfertime}"));
-
-                               $i = 0;
-                               foreach ($var_result['INVOICES'] as $dummy => 
$entry)
-                               {
-                                       $_data = 
$entry['INVOICE'][0]['INVOICEHEADER'][0];
-                               
-//_debug_array($_data);
-//die();
-
-                                       $_data['KEY']; // => 1400050146
-//                                     $_data['SCANNINGNO']; // => 
11E28NJINL3VR6
-//                                     $_data['AMOUNT']; // => 312500
-                                       $_data['ARRIVAL']; // => 2009.05.28
-                                       $_data['CLIENT.CODE']; // => 14
-                                       $_data['CURRENCY.CURRENCYID']; // => NOK
-                                       $_data['EXCHANGERATE']; // => 1
-//                                     $_data['INVOICEDATE']; // => 2009.05.28
-                                       $_data['LOCALAMOUNT']; // => 312500
-                                       $_data['LOCALVATAMOUNT']; // => 62500
-//                                     $_data['MATURITY']; // => 2009.06.30
-                                       $_data['PAYAMOUNT']; // => 0
-                                       $_data['POSTATUSUPDATED']; // => 0
-//                                     $_data['PURCHASEORDERNO']; // => 
1409220008
-                                       $_data['PURCHASEORDERSTATUS.CODE']; // 
=> WaitForMatch
-                                       $_data['SUPPLIER.BANKGIRO']; // => 
70580621110
-//                                     $_data['SUPPLIER.CODE']; // => 100644
-//                                     $_data['SUPPLIERREF']; // => 7869
-                                       $_data['VATAMOUNT']; // => 62500
-
-
-                                       $order_id               = 
$_data['PURCHASEORDERNO'];
-                                       $fakturanr              = $_data['KEY'];
-                                       $fakturadato    = 
date($this->dateformat,strtotime(str_replace('.', '-', $_data['INVOICEDATE'])));
-                                       $forfallsdato   = 
date($this->dateformat,strtotime(str_replace('.', '-', $_data['MATURITY'])));
-                                       $periode                = 
date('n',strtotime(str_replace('.', '-', $_data['INVOICEDATE'])));
-                                       $belop                  = 
$_data['AMOUNT']/100;
-
-                                       if( $belop < 0 )
-                                       {
-                                               $invoice_common['art'] = 2;
-                                       }
-                                       if( $invoice_common['art'] == 2 ) // 
kreditnota
-                                       {
-                                               $belop = -1 * abs($belop);
-                                       }
-
-                                       $kidnr  = $_data['KIDNO'];
-
-                                       $buffer[$i]['external_ref']             
= $_data['SCANNINGNO'];
-                                       $buffer[$i]['pmwrkord_code']    = 
$order_id;
-                                       $buffer[$i]['fakturanr']                
= $fakturanr;
-                                       $buffer[$i]['periode']                  
= $periode;
-                                       $buffer[$i]['forfallsdato']             
= $forfallsdato;
-                                       $buffer[$i]['fakturadato']              
= $fakturadato;
-                                       $buffer[$i]['belop']                    
= $belop;
-                                       $buffer[$i]['godkjentbelop']    = 
$belop;
-                                       
-                                       $buffer[$i]['kidnr']                    
= $kidnr;
-                                       $buffer[$i]['bilagsnr']                 
= $bilagsnr;
-                                       $buffer[$i]['referanse']                
= "ordre: {$order_id}";
-
-                                       $order_info = 
$this->get_order_info($order_id);
-
-                                       if(isset($invoice_common['dim_b']) && 
$invoice_common['dim_b'])
-                                       {
-                                               $buffer[$i]['dimb'] = 
$invoice_common['dim_b'];
-                                       }
-                                       else
-                                       {
-                                               $buffer[$i]['dimb'] = 
$order_info['dimb'];
-                                       }
-
-                                       $buffer[$i]['dima'] = 
$order_info['dima'];
-                                       $buffer[$i]['loc1'] = 
$order_info['loc1'];
-
-                                       $buffer[$i]['mvakode'] = $this->mvakode;
-
-                                       if($buffer[$i]['dima'] && 
(isset($invoice_common['auto_tax']) && $invoice_common['auto_tax']))
-                                       {
-                                               $mvakode = 
$this->soXport->auto_tax($buffer[$i]['dima']);
-                                       
-                                               if($mvakode)
-                                               {
-                                                       $buffer[$i]['mvakode'] 
= $mvakode;
-                                               }
-                                       }
-
-                                       if(isset($invoice_common['vendor_id']) 
&& $invoice_common['vendor_id'])
-                                       {
-                                               $vendor_id = 
$invoice_common['vendor_id'];
-                                       }
-                                       else if ($order_id)
-                                       {
-                                               $vendor_id = 
$order_info['vendor_id'];
-                                       }
-                                       else
-                                       {
-                                               $vendor_id = 
$_data['SUPPLIER.CODE'];
-                                       }
-                                       
-                                       
-                                       if(isset($invoice_common['auto_tax']) 
&& $invoice_common['auto_tax'])
-                                       {
-                                               $buffer[$i]['mvakode'] = 
$this->soXport->tax_b_account_override($buffer[$i]['mvakode'], 
$order_info['spbudact_code']);
-                                               $buffer[$i]['mvakode'] = 
$this->soXport->tax_vendor_override($buffer[$i]['mvakode'], $vendor_id);
-                                       }
-
-                                       $buffer[$i]['kostra_id'] = 
$this->soXport->get_kostra_id($buffer[$i]['loc1']);
-                                       
-                                       $merknad = "lag meg ein link til bilde 
av faktura - ref: {$_data['SCANNINGNO']}";
-                                       
-                                       $buffer[$i]['merknad'] = $merknad;
-                                       $buffer[$i]['splitt'] = $this->splitt;
-                                       $buffer[$i]['kildeid'] = $this->kildeid;
-                                       $buffer[$i]['spbudact_code'] = 
$order_info['spbudact_code'];
-                                       $buffer[$i]['typeid'] = 
isset($invoice_common['type']) && $invoice_common['type'] ? 
$invoice_common['type'] : 1;
-                                       $buffer[$i]['regtid'] = $regtid;
-                                       $buffer[$i]['artid'] = 
$invoice_common['art'];
-                                       $buffer[$i]['spvend_code'] = $vendor_id;
-
-                                       $oppsynsmannid = '';
-                                       if(isset($invoice_common['janitor']) && 
$invoice_common['janitor'])
-                                       {
-                                               $oppsynsmannid = 
$invoice_common['janitor'];
-                                       }
-                                       else if($order_info['janitor'])
-                                       {
-                                               $oppsynsmannid = 
$order_info['janitor'];                                
-                                       }
-
-                                       $saksbehandlerid = '';
-                                       if(isset($invoice_common['supervisor']) 
&& $invoice_common['supervisor'])
-                                       {
-                                               $saksbehandlerid = 
$invoice_common['supervisor'];
-                                       }
-                                       else if($order_info['supervisor'])
-                                       {
-                                               $saksbehandlerid = 
$order_info['supervisor'];   
-                                       }
-
-                                       $budsjettansvarligid = '';
-                                       
if(isset($invoice_common['budget_responsible']) && 
$invoice_common['budget_responsible'])
-                                       {
-                                               $budsjettansvarligid = 
$invoice_common['budget_responsible'];
-                                       }
-                                       else 
if($order_info['budget_responsible'])
-                                       {
-                                               $budsjettansvarligid = 
$order_info['budget_responsible'];
-                                       }
-
-                                       $buffer[$i]['oppsynsmannid']            
= $oppsynsmannid;
-                                       $buffer[$i]['saksbehandlerid']          
= $saksbehandlerid;
-                                       $buffer[$i]['budsjettansvarligid']      
= $budsjettansvarligid;
-
-                                       $bilagsnr++;
-                                       $i++;
-                               }
-                       }
-
-                       if(!$download)
-                       {
-                               $buffer = 
$this->import_end_file($buffer,$invoice_common['bilagsnr']);
-                       }
-
-                       return $buffer;
-               }
-
-               function get_order_info($order_id = '')
-               {
-                       $order_info = array();
-                       $order_id = (int) $order_id;
-                       $sql = "SELECT 
fm_workorder.location_code,fm_workorder.vendor_id,fm_workorder.account_id,fm_workorder.ecodimb,
 fm_workorder.user_id"
-                       . " FROM fm_workorder {$this->join} fm_project ON 
fm_workorder.project_id = fm_project.id WHERE fm_workorder.id = $order_id";
-                       $this->db->query($sql,__LINE__,__FILE__);
-                       $this->db->next_record();
-                       if ($this->db->f('location_code'))
-                       { 
-                               $parts = 
explode('-',$this->db->f('location_code'));
-                               $order_info['dima'] = implode('', $parts);
-                               $order_info['loc1'] = $parts[0];
-                       }
-                       
-                       $order_info['vendor_id']                        = 
$this->db->f('vendor_id');
-                       $order_info['spbudact_code']            = 
$this->db->f('account_id');
-                       $order_info['dimb']                                     
= $this->db->f('ecodimb');
-                       
-                       $criteria_janitor                                       
= array('ecodimb' => $order_info['dimb'], 'cat_id' => $this->bestiller ); 
//bestiller
-                       $janitor_contact_id                                     
= $this->responsible->get_responsible($criteria_janitor);
-                       $janitor_user_id                                        
= $this->responsible->get_contact_user_id($janitor_contact_id);
-                       $order_info['janitor']                          = 
$GLOBALS['phpgw']->accounts->get($janitor_user_id)->lid;
-
-                       $criteria_supervisor                            = 
array('ecodimb' => $order_info['dimb'], 'cat_id' => $this->attestant); // 
attestere
-                       $supervisor_contact_id                          = 
$this->responsible->get_responsible($criteria_supervisor);
-                       $supervisor_user_id                                     
= $this->responsible->get_contact_user_id($supervisor_contact_id);
-                       $order_info['supervisor']                       = 
$GLOBALS['phpgw']->accounts->get($supervisor_user_id)->lid;
-
-                       $criteria_budget_responsible            = 
array('ecodimb' => $order_info['dimb'], 'cat_id' => $this->budsjettansvarlig); 
//anviser
-                       $budget_responsible_contact_id          = 
$this->responsible->get_responsible($criteria_budget_responsible);
-                       $budget_responsible_user_id                     = 
$this->responsible->get_contact_user_id($budget_responsible_contact_id);
-                       $order_info['budget_responsible']       = 
$GLOBALS['phpgw']->accounts->get($budget_responsible_user_id)->lid;
-
-                       return $order_info;
-               }
-
-
-               function import_end_file($buffer,$bilagsnr)
-               {
-                       $num    = $this->soXport->add($buffer);
-                       $receipt['message'][]= array('msg' => 
lang('Successfully imported %1 records into your invoice register.',$num).' 
'.lang('ID').': '. $bilagsnr);
-                       return $receipt;
-               }
-       }

Modified: people/sigurdne/modules/property/trunk/inc/ods/ods.php
===================================================================
--- people/sigurdne/modules/property/trunk/inc/ods/ods.php      2010-01-05 
21:38:51 UTC (rev 20935)
+++ people/sigurdne/modules/property/trunk/inc/ods/ods.php      2010-01-05 
21:40:00 UTC (rev 20936)
@@ -10,7 +10,7 @@
 Copyright: Juan Lao Tebar (address@hidden) and Jose Carlos Norte 
(address@hidden) - 2008 
 
 https://sourceforge.net/projects/ods-php/
address@hidden $Id$
address@hidden $Id: ods.php 4237 2009-11-27 23:17:21Z sigurd $
 */
 
 class ods {

Modified: people/sigurdne/modules/property/trunk/js/yahoo/invoice.list_sub.js
===================================================================
--- people/sigurdne/modules/property/trunk/js/yahoo/invoice.list_sub.js 
2010-01-05 21:38:51 UTC (rev 20935)
+++ people/sigurdne/modules/property/trunk/js/yahoo/invoice.list_sub.js 
2010-01-05 21:40:00 UTC (rev 20936)
@@ -236,7 +236,7 @@
                        CreateRowChecked("transfer_idClass");
                        td_empty(4);
                        td_sum(values_ds.sum);
-                       td_empty(5);
+                       td_empty(6);
                        //Add to Table
                        myfoot = tableYUI.createTFoot();
                        myfoot.setAttribute("id","myfoot");

Modified: people/sigurdne/modules/property/trunk/templates/base/config.tpl
===================================================================
--- people/sigurdne/modules/property/trunk/templates/base/config.tpl    
2010-01-05 21:38:51 UTC (rev 20935)
+++ people/sigurdne/modules/property/trunk/templates/base/config.tpl    
2010-01-05 21:40:00 UTC (rev 20936)
@@ -16,9 +16,24 @@
     <td>{lang_organisation}:</td>
     <td><input name="newsettings[org_name]" value="{value_org_name}"></td>
    </tr>
+   <tr class="row_off">
+    <td>{lang_needed_for_invoice_approval}:</td>
+    <td>
+     <select name="newsettings[invoice_approval]">
+      <option value="" {selected_invoice_approval_}>2</option>
+      <option value="1" {selected_invoice_approval_1}>1</option>
+     </select>
+    </td>
+   </tr>
+ 
    <tr class="row_on">
-    <td>{lang_Path_to_Invoice_Export_file}: ({lang_mandatory})<br>
+    <td>{lang_Path_to_Invoice_import_files}:<br>
     {lang_On_windows_use}: "//computername/share" {lang_or} 
"\\\\computername\share"</td>
+    <td><input name="newsettings[import_path]" 
value="{value_import_path}"></td>
+   </tr>
+   <tr class="row_on">
+    <td>{lang_Path_to_Invoice_Export_files}: ({lang_mandatory})<br>
+    {lang_On_windows_use}: "//computername/share" {lang_or} 
"\\\\computername\share"</td>
     <td><input name="newsettings[export_path]" 
value="{value_export_path}"></td>
    </tr>
    <tr class="row_off">
@@ -26,6 +41,10 @@
     {lang_On_windows_use}: "//computername/share" {lang_or} 
"\\\\computername\share"</td>
     <td><input name="newsettings[export_pre_path]" 
value="{value_export_pre_path}"></td>
    </tr>
+   <tr class="row_off">
+    <td>{lang_baseurl_to_invoice_image}:</td>
+    <td><input name="newsettings[baseurl_invoice]" 
value="{value_baseurl_invoice}"></td>
+   </tr>
    <tr class="row_on">
     <td>{lang_invoice_export_method}:</td>
     <td>
@@ -101,17 +120,8 @@
         </table>
     </td>
    </tr>
-   <tr class="row_off">
-    <td>{lang_TTS_file_upload}:</td>
-    <td>
-     <select name="newsettings[fmttsfileupload]">
-      <option value="" {selected_fmttsfileupload_}>NO</option>
-      <option value="1" {selected_fmttsfileupload_1}>YES</option>
-     </select>
-    </td>
-   </tr>
    <tr class="row_on">
-    <td>{lang_Mail_Notification_(TTS)}:</td>
+    <td>{lang_Mail_Notification}:</td>
     <td>
      <select name="newsettings[mailnotification]">
       <option value="" {selected_mailnotification_}>NO</option>
@@ -120,8 +130,17 @@
     </td>
    </tr>
    <tr class="row_off">
-    <td>{lang_Owner_Notification_(TTS)}.</td>
+    <td>{lang_Owner_Notification_Project}.</td>
     <td>
+     <select name="newsettings[notify_project_owner]">
+      <option value="" {selected_notify_project_owner_}>NO</option>
+      <option value="1" {selected_notify_project_owner_1}>YES</option>
+     </select>
+    </td>
+   </tr>
+   <tr class="row_off">
+    <td>{lang_Owner_Notification_TTS}.</td>
+    <td>
      <select name="newsettings[ownernotification]">
       <option value="" {selected_ownernotification_}>NO</option>
       <option value="1" {selected_ownernotification_1}>YES</option>
@@ -129,7 +148,7 @@
     </td>
    </tr>
    <tr class="row_on">
-    <td>{lang_Assigned_Notification_(TTS)}.</td>
+    <td>{lang_Assigned_Notification_TTS}.</td>
     <td>
      <select name="newsettings[assignednotification]">
       <option value="" {selected_assignednotification_}>NO</option>
@@ -138,7 +157,7 @@
     </td>
    </tr>
    <tr class="row_off">
-    <td>{lang_Group_Notification_(TTS)}.</td>
+    <td>{lang_Group_Notification_TTS}.</td>
     <td>
      <select name="newsettings[groupnotification]">
       <option value="" {selected_groupnotification_}>NO</option>
@@ -146,8 +165,17 @@
      </select>
     </td>
    </tr>
+   <tr class="row_off">
+    <td>{lang_TTS_file_upload}:</td>
+    <td>
+     <select name="newsettings[fmttsfileupload]">
+      <option value="" {selected_fmttsfileupload_}>NO</option>
+      <option value="1" {selected_fmttsfileupload_1}>YES</option>
+     </select>
+    </td>
+   </tr>
    <tr class="row_on">
-    <td>{lang_priority_levels_(TTS)}.</td>
+    <td>{lang_priority_levels_TTS}.</td>
     <td>
      <select name="newsettings[prioritylevels]">
       <option value="" {selected_prioritylevels_}>3</option>
@@ -157,7 +185,7 @@
     </td>
    </tr>
    <tr class="row_off">
-    <td>{lang_mandatory_title_(TTS)}.</td>
+    <td>{lang_mandatory_title_TTS}.</td>
     <td>
      <select name="newsettings[tts_mandatory_title]">
       <option value="" {selected_tts_mandatory_title_}>NO</option>





reply via email to

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