fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [7054] property: tweak request


From: Sigurd Nes
Subject: [Fmsystem-commits] [7054] property: tweak request
Date: Thu, 24 Feb 2011 15:13:19 +0000

Revision: 7054
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=7054
Author:   sigurdne
Date:     2011-02-24 15:13:18 +0000 (Thu, 24 Feb 2011)
Log Message:
-----------
property: tweak request

Modified Paths:
--------------
    trunk/property/inc/class.borequest.inc.php
    trunk/property/inc/class.sorequest.inc.php
    trunk/property/inc/class.uirequest.inc.php
    trunk/property/setup/phpgw_no.lang
    trunk/property/setup/setup.inc.php
    trunk/property/setup/tables_current.inc.php
    trunk/property/setup/tables_update.inc.php
    trunk/property/templates/base/request.xsl

Modified: trunk/property/inc/class.borequest.inc.php
===================================================================
--- trunk/property/inc/class.borequest.inc.php  2011-02-24 13:39:26 UTC (rev 
7053)
+++ trunk/property/inc/class.borequest.inc.php  2011-02-24 15:13:18 UTC (rev 
7054)
@@ -142,6 +142,51 @@
                        $this->status_id        = $data['status_id'];
                }
 
+
+               function column_list($selected = array())
+               {
+                       if(!$selected)
+                       {
+                               $selected = 
isset($GLOBALS['phpgw_info']['user']['preferences']['property']['request_columns'])
 ? $GLOBALS['phpgw_info']['user']['preferences']['property']['request_columns'] 
: '';
+                       }
+
+                       $columns        = $this->get_column_list();
+                       return 
$this->bocommon->select_multi_list($selected,$columns);
+               }
+
+               function get_column_list()
+               {
+                       $columns = array();
+                       $columns['entry_date'] = array
+                               (
+                                       'id' => 'entry_date',
+                                       'name'=> lang('entry date'),
+                                       'sortable'      => true
+                               );
+
+                       $columns['in_progress_date'] = array
+                               (
+                                       'id'            => 'in_progress_date',
+                                       'name'          => lang('in progress 
date'),
+                                       'sortable'      => true
+                               );
+                       $columns['delivered_date'] = array
+                               (
+                                       'id'            => 'delivered_date',
+                                       'name'          => lang('delivered 
date'),
+                                       'sortable'      => true
+                               );
+                       $columns['closed_date'] = array
+                               (
+                                       'id'            => 'closed_date',
+                                       'name'          => lang('closed date'),
+                                       'sortable'      => true
+                               );
+
+                       return $columns;
+               }
+
+
                function 
select_degree_list($degree_value='',$degreedefault_type='')
                {
                        if ($degree_value)
@@ -286,6 +331,11 @@
                        {
                                $request[$i]['coordinator'] = 
$GLOBALS['phpgw']->accounts->id2name($request[$i]['coordinator']);
                                $request[$i]['start_date'] = 
$GLOBALS['phpgw']->common->show_date($request[$i]['start_date'],$dateformat);
+                               $request[$i]['entry_date'] = 
$GLOBALS['phpgw']->common->show_date($request[$i]['entry_date'],$dateformat);
+                               $request[$i]['closed_date'] = 
$GLOBALS['phpgw']->common->show_date($request[$i]['closed_date'],$dateformat);
+                               $request[$i]['in_progress_date'] = 
$GLOBALS['phpgw']->common->show_date($request[$i]['in_progress_date'],$dateformat);
+                               $request[$i]['delivered_date'] = 
$GLOBALS['phpgw']->common->show_date($request[$i]['delivered_date'],$dateformat);
+
                                if($cols_extra)
                                {
                                        
$location_data=$this->solocation->read_single($request[$i]['location_code']);
@@ -296,6 +346,21 @@
                                }
                        }
 
+                       $column_list = $this->get_column_list();
+                       $custom_cols = 
isset($GLOBALS['phpgw_info']['user']['preferences']['property']['request_columns'])
 && 
$GLOBALS['phpgw_info']['user']['preferences']['property']['request_columns'] ? 
$GLOBALS['phpgw_info']['user']['preferences']['property']['request_columns'] : 
array();
+                       foreach ($custom_cols as $col_id)
+                       {
+                               $this->uicols['input_type'][]   = 'text';
+                               $this->uicols['name'][]                 = 
$col_id;
+                               $this->uicols['descr'][]                = 
$column_list[$col_id]['name'];
+                               $this->uicols['statustext'][]   = 
$column_list[$col_id]['name'];
+                               $this->uicols['exchange'][]             = false;
+                               $this->uicols['align'][]                = '';
+                               $this->uicols['datatype'][]             = '';
+                               $this->uicols['sortable'][]             = 
$column_list[$col_id]['sortable'];
+                               $this->uicols['formatter'][]    = '';
+                               $this->uicols['classname'][]    = '';
+                       }
                        return $request;
                }
 
@@ -318,6 +383,10 @@
                        $dateformat                                     = 
$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'];
                        $values['start_date']           = 
$GLOBALS['phpgw']->common->show_date($values['start_date'],$dateformat);
                        $values['end_date']                     = 
$GLOBALS['phpgw']->common->show_date($values['end_date'],$dateformat);
+                       $values['entry_date']           = 
$GLOBALS['phpgw']->common->show_date($values['entry_date'],$dateformat);
+                       $values['closed_date']          = 
$GLOBALS['phpgw']->common->show_date($values['closed_date'],$dateformat);
+                       $values['in_progress_date']     = 
$GLOBALS['phpgw']->common->show_date($values['in_progress_date'],$dateformat);
+                       $values['delivered_date']       = 
$GLOBALS['phpgw']->common->show_date($values['delivered_date'],$dateformat);
 
                        if($values['location_code'])
                        {

Modified: trunk/property/inc/class.sorequest.inc.php
===================================================================
--- trunk/property/inc/class.sorequest.inc.php  2011-02-24 13:39:26 UTC (rev 
7053)
+++ trunk/property/inc/class.sorequest.inc.php  2011-02-24 15:13:18 UTC (rev 
7054)
@@ -216,8 +216,12 @@
                        $uicols['classname'][]          = '';
                        $uicols['sortable'][]           = false;
 
-                       $cols.= ",$entity_table.start_date";
+                       $cols.= 
",$entity_table.start_date,$entity_table.entry_date,$entity_table.closed_date,$entity_table.in_progress_date,$entity_table.delivered_date";
                        $cols_return[]                          = 'start_date';
+                       $cols_return[]                          = 'entry_date';
+                       $cols_return[]                          = 'closed_date';
+                       $cols_return[]                          = 
'in_progress_date';
+                       $cols_return[]                          = 
'delivered_date';
                        $uicols['input_type'][]         = 'text';
                        $uicols['name'][]                       = 'start_date';
                        $uicols['descr'][]                      = lang('start 
date');
@@ -461,6 +465,10 @@
                                                'p_cat_id'                      
        => $this->db->f('p_cat_id'),
                                                'contact_phone'                 
=> $this->db->f('contact_phone', true),
                                                'building_part'                 
=> $this->db->f('building_part'),
+                                               'entry_date'                    
=> $this->db->f('entry_date'),
+                                               'closed_date'                   
=> $this->db->f('closed_date'),
+                                               'in_progress_date'              
=> $this->db->f('in_progress_date'),
+                                               'delivered_date'                
=> $this->db->f('delivered_date')
                                        );
 
                                if ( isset($values['attributes']) && 
is_array($values['attributes']) )
@@ -574,7 +582,9 @@
                        $value_set['branch_id']                         = 
$request['branch_id'];
                        $value_set['coordinator']                       = 
$request['coordinator'];
                        $value_set['authorities_demands']       = 
$request['authorities_demands'];
-                       $value_set['building_part']                     =       
$request['building_part'];
+                       $value_set['building_part']                     = 
$request['building_part'];
+                       $value_set['start_date']                        = 
$request['start_date'];
+                       $value_set['end_date']                          = 
$request['end_date'];
 
                        $cols = implode(',', array_keys($value_set));
                        $values = 
$this->bocommon->validate_db_insert(array_values($value_set));
@@ -620,7 +630,31 @@
 
                                
$this->interlink->add($interlink_data,$this->db);
                        }
+                       
+                       $sql = "SELECT * FROM fm_request_status WHERE 
id='{$request['status']}'";
+                       $this->db->query($sql,__LINE__,__FILE__);
+                       $this->db->next_record();
 
+                       $value_set = array();
+                       if($this->db->f('in_progress'))
+                       {
+                               $value_set['in_progress_date']  = time();
+                       }
+                       if($this->db->f('closed'))
+                       {
+                               $value_set['closed_date']               = 
time();
+                       }
+                       if($this->db->f('delivered'))
+                       {
+                               $value_set['delivered_date']    = time();
+                       }
+
+                       if($value_set)
+                       {
+                               $value_set      = 
$this->db->validate_update($value_set);
+                               $this->db->query("UPDATE fm_request SET 
$value_set WHERE id= '{$id}'",__LINE__,__FILE__);
+                       }
+
                        if($this->db->transaction_commit())
                        {
                                $this->increment_request_id();
@@ -653,7 +687,6 @@
                                $address = 
$this->db->db_addslashes($request['location_name']);
                        }
 
-
                        $value_set = array
                                (
                                        'title'                                 
=> $this->db->db_addslashes($request['title']),
@@ -687,7 +720,6 @@
                                $value_set = array_merge($value_set, 
$data_attribute['value_set']);
                        }
 
-                       $value_set      = 
$this->db->validate_update($value_set);
 
                        $this->db->transaction_begin();
 
@@ -697,10 +729,31 @@
                        $old_status = $this->db->f('status');
                        $old_category = $this->db->f('category');
                        $old_coordinator = $this->db->f('coordinator');
+                       if($old_status != $request['status'])
+                       {
+                               $sql = "SELECT * FROM fm_request_status WHERE 
id='{$request['status']}'";
+                               $this->db->query($sql,__LINE__,__FILE__);
+                               $this->db->next_record();
+                       
+                               if($this->db->f('in_progress'))
+                               {
+                                       $value_set['in_progress_date']  = 
time();
+                               }
+                               if($this->db->f('closed'))
+                               {
+                                       $value_set['closed_date']               
= time();
+                               }
+                               if($this->db->f('delivered'))
+                               {
+                                       $value_set['delivered_date']    = 
time();
+                               }
+                       }
 
-                       $this->db->query("UPDATE fm_request set $value_set 
WHERE id= '" . $request['id'] ."'",__LINE__,__FILE__);
+                       $value_set      = 
$this->db->validate_update($value_set);
 
-                       $this->db->query("DELETE FROM fm_request_condition 
WHERE request_id='" . $request['id'] . "'",__LINE__,__FILE__);
+                       $this->db->query("UPDATE fm_request SET $value_set 
WHERE id= '{$request['id']}'",__LINE__,__FILE__);
+
+                       $this->db->query("DELETE FROM fm_request_condition 
WHERE request_id='{$request['id']}'",__LINE__,__FILE__);
                        while (is_array($request['condition']) && 
list($condition_type,$value_type) = each($request['condition']))
                        {
                                $this->db->query("INSERT INTO 
fm_request_condition 
(request_id,condition_type,degree,probability,consequence,user_id,entry_date) "
@@ -718,7 +771,7 @@
 
                        if($request['extra']['contact_phone'] && 
$request['extra']['tenant_id'])
                        {
-                               $this->db->query("update fm_tenant set 
contact_phone='". $request['extra']['contact_phone']. "' where id='". 
$request['extra']['tenant_id']. "'",__LINE__,__FILE__);
+                               $this->db->query("UPDATE fm_tenant SET 
contact_phone='{$request['extra']['contact_phone']}' WHERE 
id='{$request['extra']['tenant_id']}'",__LINE__,__FILE__);
                        }
 
                        if ($request['power_meter'] )

Modified: trunk/property/inc/class.uirequest.inc.php
===================================================================
--- trunk/property/inc/class.uirequest.inc.php  2011-02-24 13:39:26 UTC (rev 
7053)
+++ trunk/property/inc/class.uirequest.inc.php  2011-02-24 15:13:18 UTC (rev 
7054)
@@ -55,7 +55,8 @@
                                'delete'                => true,
                                'priority_key'  => true,
                                'view_file'             => true,
-                               'download'              => true
+                               'download'              => true,
+                               'columns'               => true
                        );
 
                function property_uirequest()
@@ -108,6 +109,51 @@
                        $this->bo->save_sessiondata($data);
                }
 
+               function columns()
+               {
+                       $receipt = array();
+                       $GLOBALS['phpgw']->xslttpl->add_file(array('columns'));
+
+                       $GLOBALS['phpgw_info']['flags']['noframework'] = true;
+                       $GLOBALS['phpgw_info']['flags']['nofooter'] = true;
+
+                       $values                 = phpgw::get_var('values');
+
+                       
$GLOBALS['phpgw']->preferences->set_account_id($this->account, true);
+
+                       if (isset($values['save']) && $values['save'])
+                       {
+                               
$GLOBALS['phpgw']->preferences->add('property','request_columns', 
$values['columns'],'user');
+                               
$GLOBALS['phpgw']->preferences->save_repository();
+                               $receipt['message'][] = array('msg' => 
lang('columns is updated'));
+                       }
+
+                       $function_msg   = lang('Select Column');
+
+                       $link_data = array
+                       (
+                               'menuaction'    => 'property.uirequest.columns',
+                       );
+
+                       $selected = isset($values['columns']) && 
$values['columns'] ? $values['columns'] : array();
+                       $msgbox_data = 
$GLOBALS['phpgw']->common->msgbox_data($receipt);
+
+                       $data = array
+                               (
+                                       'msgbox_data'           => 
$GLOBALS['phpgw']->common->msgbox($msgbox_data),
+                                       'column_list'           => 
$this->bo->column_list($selected , $this->type_id, $allrows=true),
+                                       'function_msg'          => 
$function_msg,
+                                       'form_action'           => 
$GLOBALS['phpgw']->link('/index.php',$link_data),
+                                       'lang_columns'          => 
lang('columns'),
+                                       'lang_none'                     => 
lang('None'),
+                                       'lang_save'                     => 
lang('save'),
+                               );
+
+                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
$function_msg;
+                       
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array('columns' => $data));
+               }
+
+
                function view_file()
                {
                        if(!$this->acl_read)
@@ -315,8 +361,19 @@
                                                                                
'menuaction' => 
'property.uirequest.priority_key'))."','','left=50,top=100,width=350,height=250')",
                                                                                
'value' => lang('Priority key'),
                                                                                
'tab_index' => 4
-                                                                       )
                                                                ),
+                                                               array
+                                                               (
+                                                                       'type' 
=> 'link',
+                                                                       'id' => 
'btn_columns',
+                                                                       'url' 
=> "Javascript:window.open('".$GLOBALS['phpgw']->link('/index.php',
+                                                                       array
+                                                                       (
+                                                                               
'menuaction' => 
'property.uirequest.columns'))."','','width=300,height=600,scrollbars=1')",
+                                                                               
'value' => lang('columns'),
+                                                                               
'tab_index' => 10
+                                                               ),
+                                                       ),
                                                                'hidden_value' 
=> array
                                                                (
                                                                        array
@@ -1275,6 +1332,11 @@
                                        'img_cal'                               
                        => $GLOBALS['phpgw']->common->image('phpgwapi','cal'),
                                        'lang_datetitle'                        
                => lang('Select date'),
 
+                                       'value_entry_date'                      
                => $values['entry_date'],
+                                       'value_closed_date'                     
                => $values['closed_date'],
+                                       'value_in_progress_date'                
        => $values['in_progress_date'],
+                                       'value_delivered_date'                  
        => $values['delivered_date'],
+
                                        'lang_start_date_statustext'            
=> lang('Select the estimated end date for the request'),
                                        'lang_start_date'                       
                => lang('request start date'),
                                        'value_start_date'                      
                => $values['start_date'],

Modified: trunk/property/setup/phpgw_no.lang
===================================================================
--- trunk/property/setup/phpgw_no.lang  2011-02-24 13:39:26 UTC (rev 7053)
+++ trunk/property/setup/phpgw_no.lang  2011-02-24 15:13:18 UTC (rev 7054)
@@ -726,8 +726,8 @@
 entrance has been edited       property        no      inngang er rettet
 entrance has been saved        property        no      inngang er lagret
 entrance id    property        no      inngang ID
-entry date     property        no      Dato
-entry_date     property        no      Dato
+entry date     property        no      Registrert dato
+entry_date     property        no      Registrert dato
 equipment      property        no      Utstyr
 equipment %1 has been edited   property        no      utstyr %1 er rettet
 equipment %1 has been saved    property        no      utstyr %1 er lagret
@@ -1847,3 +1847,6 @@
 usertype       common  no      Brukertype
 tenant common  no      Leietaker
 internal       common  no      Intern
+in progress date       property        no      Påbegynt dato
+delivered date property        no      Utført dato
+closed date    property        no      Avsluttet dato

Modified: trunk/property/setup/setup.inc.php
===================================================================
--- trunk/property/setup/setup.inc.php  2011-02-24 13:39:26 UTC (rev 7053)
+++ trunk/property/setup/setup.inc.php  2011-02-24 15:13:18 UTC (rev 7054)
@@ -12,7 +12,7 @@
        */
 
        $setup_info['property']['name']                 = 'property';
-       $setup_info['property']['version']              = '0.9.17.609';
+       $setup_info['property']['version']              = '0.9.17.610';
        $setup_info['property']['app_order']    = 8;
        $setup_info['property']['enable']               = 1;
        $setup_info['property']['app_group']    = 'office';

Modified: trunk/property/setup/tables_current.inc.php
===================================================================
--- trunk/property/setup/tables_current.inc.php 2011-02-24 13:39:26 UTC (rev 
7053)
+++ trunk/property/setup/tables_current.inc.php 2011-02-24 15:13:18 UTC (rev 
7054)
@@ -794,6 +794,9 @@
                                'start_date' => array('type' => 
'int','precision' => '4','default' => '0','nullable' => True),
                                'end_date' => array('type' => 'int','precision' 
=> '4','default' => '0','nullable' => True),
                                'building_part'=> array('type' => 
'varchar','precision' => 4,'nullable' => True),
+                               'closed_date' => array('type' => 
'int','precision' => '4','nullable' => True),
+                               'in_progress_date' => array('type' => 
'int','precision' => '4','nullable' => True),
+                               'delivered_date' => array('type' => 
'int','precision' => '4','nullable' => True),
                        ),
                        'pk' => array('id'),
                        'fk' => array(),

Modified: trunk/property/setup/tables_update.inc.php
===================================================================
--- trunk/property/setup/tables_update.inc.php  2011-02-24 13:39:26 UTC (rev 
7053)
+++ trunk/property/setup/tables_update.inc.php  2011-02-24 15:13:18 UTC (rev 
7054)
@@ -5045,7 +5045,29 @@
                }
        }
 
+       /**
+       * Update property version from 0.9.17.609 to 0.9.17.610
+       * Add location_link_level
+       * 
+       */
 
+       $test[] = '0.9.17.609';
+       function property_upgrade0_9_17_609()
+       {
+               $GLOBALS['phpgw_setup']->oProc->m_odb->transaction_begin();
+
+               
$GLOBALS['phpgw_setup']->oProc->AddColumn('fm_request','closed_date',array('type'
 => 'int','precision' => 4,'nullable' => True));
+               
$GLOBALS['phpgw_setup']->oProc->AddColumn('fm_request','in_progress_date',array('type'
 => 'int','precision' => 4,'nullable' => True));
+               
$GLOBALS['phpgw_setup']->oProc->AddColumn('fm_request','delivered_date',array('type'
 => 'int','precision' => 4,'nullable' => True));
+
+               if($GLOBALS['phpgw_setup']->oProc->m_odb->transaction_commit())
+               {
+                       $GLOBALS['setup_info']['property']['currentver'] = 
'0.9.17.610';
+                       return $GLOBALS['setup_info']['property']['currentver'];
+               }
+       }
+
+
        /**
        * Update property version from 0.9.17.607 to 0.9.17.608
        * Add more room for address at tickets

Modified: trunk/property/templates/base/request.xsl
===================================================================
--- trunk/property/templates/base/request.xsl   2011-02-24 13:39:26 UTC (rev 
7053)
+++ trunk/property/templates/base/request.xsl   2011-02-24 15:13:18 UTC (rev 
7054)
@@ -149,6 +149,39 @@
                                                                                
        <xsl:value-of select="value_request_id"/>
                                                                                
</td>
                                                                        </tr>
+                                                                       <tr>
+                                                                               
<td>
+                                                                               
        <xsl:value-of select="php:function('lang', 'entry date')" />
+                                                                               
</td>
+                                                                               
<td>
+                                                                               
        <xsl:value-of select="value_entry_date"/>
+                                                                               
</td>
+                                                                       </tr>
+                                                                       <tr>
+                                                                               
<td>
+                                                                               
        <xsl:value-of select="php:function('lang', 'in progress date')" />
+                                                                               
</td>
+                                                                               
<td>
+                                                                               
        <xsl:value-of select="value_in_progress_date"/>
+                                                                               
</td>
+                                                                       </tr>
+                                                                       <tr>
+                                                                               
<td>
+                                                                               
        <xsl:value-of select="php:function('lang', 'delivered date')" />
+                                                                               
</td>
+                                                                               
<td>
+                                                                               
        <xsl:value-of select="value_delivered_date"/>
+                                                                               
</td>
+                                                                       </tr>
+                                                                       <tr>
+                                                                               
<td>
+                                                                               
        <xsl:value-of select="php:function('lang', 'closed date')" />
+                                                                               
</td>
+                                                                               
<td>
+                                                                               
        <xsl:value-of select="value_closed_date"/>
+                                                                               
</td>
+                                                                       </tr>
+
                                                                        
<xsl:for-each select="value_origin" >
                                                                                
<tr>
                                                                                
        <td class="th_text" valign ="top">
@@ -156,14 +189,11 @@
                                                                                
        </td>
                                                                                
        <td>
                                                                                
                <table>
-
                                                                                
                        <xsl:for-each select="data">
                                                                                
                                <tr>
-
                                                                                
                                        <td class="th_text"  align="left" >
-                                                                               
                                                <a href="{link}"  
title="{statustext}" style ="cursor:help"><xsl:value-of select="id"/></a>
+                                                                               
                                                <a href="{link}"  
title="{statustext}" ><xsl:value-of select="id"/></a>
                                                                                
                                                <xsl:text> </xsl:text>
-
                                                                                
                                                <xsl:choose>
                                                                                
                                                        <xsl:when 
test="location ='.project.request'">
                                                                                
                                                                <input 
type="checkbox" name="values[delete_request][]" value="{id}" >
@@ -192,7 +222,7 @@
                                                                                
                        <xsl:for-each select="data">
                                                                                
                                <tr>
                                                                                
                                        <td class="th_text"  align="left" >
-                                                                               
                                                <a href="{link}"  
title="{statustext}" style ="cursor:help"><xsl:value-of select="id"/></a>
+                                                                               
                                                <a href="{link}"  
title="{statustext}"><xsl:value-of select="id"/></a>
                                                                                
                                                <xsl:text> </xsl:text>
                                                                                
                                        </td>
                                                                                
                                </tr>
@@ -210,7 +240,7 @@
                                                                        </td>
                                                                        <td 
class="th_text"  align="left" >
                                                                                
<xsl:for-each select="data">
-                                                                               
        <a href="{link}"  title="{//lang_target_statustext}"><xsl:value-of 
select="id"/></a>
+                                                                               
        <a href="{link}"  title="{statustext}"><xsl:value-of select="id"/></a>
                                                                                
        <xsl:text> </xsl:text>
                                                                                
</xsl:for-each>
                                                                        </td>




reply via email to

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