[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [9296] property: custom fields at tickets
From: |
Sigurd Nes |
Subject: |
[Fmsystem-commits] [9296] property: custom fields at tickets |
Date: |
Mon, 07 May 2012 14:00:40 +0000 |
Revision: 9296
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=9296
Author: sigurdne
Date: 2012-05-07 14:00:35 +0000 (Mon, 07 May 2012)
Log Message:
-----------
property: custom fields at tickets
Modified Paths:
--------------
trunk/property/inc/class.botts.inc.php
trunk/property/inc/class.custom_fields.inc.php
trunk/property/inc/class.sotts.inc.php
trunk/property/inc/class.uitts.inc.php
Modified: trunk/property/inc/class.botts.inc.php
===================================================================
--- trunk/property/inc/class.botts.inc.php 2012-05-07 12:39:18 UTC (rev
9295)
+++ trunk/property/inc/class.botts.inc.php 2012-05-07 14:00:35 UTC (rev
9296)
@@ -180,55 +180,68 @@
$this->vendor_id =
isset($data['vendor_id'])?$data['vendor_id']:'';
}
- function column_list($selected =
array(),$type_id='',$allrows='')
+
+ function column_list($selected = array())
{
if(!$selected)
{
$selected =
isset($GLOBALS['phpgw_info']['user']['preferences']['property']['ticket_columns'])
? $GLOBALS['phpgw_info']['user']['preferences']['property']['ticket_columns']
: '';
}
- $filter = array('list' => ''); // translates to "list
IS NULL"
+ $_columns = $this->get_columns();
+
$columns = array();
+ foreach($_columns as $id => $column_info)
+ {
+ $columns[] = $column_info;
+ }
+
$column_list=$this->bocommon->select_multi_list($selected,$columns);
+ return $column_list;
+ }
- $columns[] = array
+ public function get_columns()
+ {
+ $columns = array();
+
+ $columns['modified_date'] = array
(
'id' => 'modified_date',
'name' => lang('modified
date'),
// 'sortable' => true
);
- $columns[] = array
+ $columns['status'] = array
(
'id' => 'status',
'name'=> lang('status')
);
- $columns[] = array
+ $columns['address'] = array
(
'id' => 'address',
'name'=> lang('address')
);
- $columns[] = array
+ $columns['user'] = array
(
'id' => 'user',
'name'=> lang('user')
);
- $columns[] = array
+ $columns['assignedto'] = array
(
'id' => 'assignedto',
'name'=> lang('assignedto')
);
- $columns[] = array
+ $columns['vendor'] = array
(
'id' => 'vendor',
'name'=> lang('vendor')
);
- $columns[] = array
+ $columns['billable_hours'] = array
(
'id' => 'billable_hours',
'name'=> lang('billable hours')
);
- $columns[] = array
+ $columns['district'] = array
(
'id' => 'district',
'name'=> lang('district')
@@ -238,7 +251,7 @@
foreach($this->uicols_related as $related)
{
- $columns[] = array
+ $columns[$related] = array
(
'id' => $related,
'name'=>
ltrim(lang(str_replace('_', ' ', $related)),'!')
@@ -247,22 +260,35 @@
if( $this->show_finnish_date )
{
- $columns[] = array
+ $columns['finnish_date'] = array
(
'id' => 'finnish_date',
'name'=> lang('finnish_date')
);
- $columns[] = array
+ $columns['delay'] = array
(
'id' => 'delay',
'name'=> lang('delay')
);
}
-
$column_list=$this->bocommon->select_multi_list($selected,$columns);
- return $column_list;
+
+ $custom_cols = $this->custom->find('property',
'.ticket', 0, '', 'ASC', 'attrib_sort', true, true);
+ foreach ($custom_cols as $custom_col)
+ {
+ $columns[$custom_col['column_name']] = array
+ (
+ 'id' => $custom_col['column_name'],
+ 'name'=> $custom_col['input_text'],
+ 'datatype' => $custom_col['datatype'],
+ );
+ }
+
+ return $columns;
}
+
+
function filter($data=0)
{
if(is_array($data))
Modified: trunk/property/inc/class.custom_fields.inc.php
===================================================================
--- trunk/property/inc/class.custom_fields.inc.php 2012-05-07 12:39:18 UTC
(rev 9295)
+++ trunk/property/inc/class.custom_fields.inc.php 2012-05-07 14:00:35 UTC
(rev 9296)
@@ -94,21 +94,28 @@
$attributes['lang_datetitle']
= lang('Select date');
}
- if(isset($attributes['value']) &&
$attributes['value'])
+
+ if($attributes['datatype'] == 'D')
{
- if($attributes['datatype'] ==
'DT')
- {
- $timestamp=
strtotime($attributes['value']);
- $attributes['value'] =
array();
-
$attributes['value']['date'] =
$GLOBALS['phpgw']->common->show_date($timestamp,$dateformat);
-
$attributes['value']['hour'] = date('H', $timestamp);
-
$attributes['value']['min'] = date('i', $timestamp);
$clear_functions[$m]['name'] = "clear_{$attributes['name']}()";
$confirm_msg =
lang('delete') . '?';
$clear_functions[$m]['action'] = <<<JS
if(confirm("{$confirm_msg}"))
{
var
attribute_{$i}_date = document.getElementById('values_attribute_{$i}');
+
attribute_{$i}_date.value = '';
+ }
+JS;
+ $m++;
+ }
+ else if($attributes['datatype'] == 'DT')
+ {
+
$clear_functions[$m]['name'] = "clear_{$attributes['name']}()";
+ $confirm_msg =
lang('delete') . '?';
+
$clear_functions[$m]['action'] = <<<JS
+
if(confirm("{$confirm_msg}"))
+ {
+ var
attribute_{$i}_date = document.getElementById('values_attribute_{$i}');
var
attribute_{$i}_hour = document.getElementById('values_attribute_{$i}_hour');
var
attribute_{$i}_min = document.getElementById('values_attribute_{$i}_min');
attribute_{$i}_date.value = '';
@@ -117,7 +124,18 @@
}
JS;
$m++;
+ }
+ if(isset($attributes['value']) &&
$attributes['value'])
+ {
+ if($attributes['datatype'] ==
'DT')
+ {
+ $timestamp=
strtotime($attributes['value']);
+ $attributes['value'] =
array();
+
$attributes['value']['date'] =
$GLOBALS['phpgw']->common->show_date($timestamp,$dateformat);
+
$attributes['value']['hour'] = date('H', $timestamp);
+
$attributes['value']['min'] = date('i', $timestamp);
+
}
else
{
Modified: trunk/property/inc/class.sotts.inc.php
===================================================================
--- trunk/property/inc/class.sotts.inc.php 2012-05-07 12:39:18 UTC (rev
9295)
+++ trunk/property/inc/class.sotts.inc.php 2012-05-07 14:00:35 UTC (rev
9296)
@@ -439,7 +439,13 @@
.
"fm_tts_tickets.entry_date,fm_tts_tickets.modified_date,fm_tts_tickets.finnish_date,fm_tts_tickets.finnish_date2,fm_tts_tickets.order_id,fm_tts_tickets.vendor_id,fm_tts_tickets.actual_cost,"
.
"fm_tts_tickets.budget,fm_tts_tickets.billable_hours,fm_district.descr as
district,fm_tts_views.id as view,fm_location1.loc1_name {$result_order_field}";
- //fm_tts_tickets.* ,fm_location1.loc1_name,
fm_tts_views.id as view {$result_order_field},fm_district.descr as district
+ $custom_cols = $this->custom->find('property',
'.ticket', 0, '', 'ASC', 'attrib_sort', true, true);
+
+ foreach ($custom_cols as $custom_col)
+ {
+ $return_fields .=
",fm_tts_tickets.{$custom_col['column_name']}";
+ }
+
$sql = "SELECT DISTINCT {$return_fields} FROM
fm_tts_tickets"
. " {$this->join} fm_location1 ON
fm_tts_tickets.loc1=fm_location1.loc1"
. " {$this->join} fm_part_of_town ON
fm_location1.part_of_town_id=fm_part_of_town.part_of_town_id"
@@ -508,6 +514,7 @@
unset($_fetch_single);
}
+ $i = 0;
while ($this->db->next_record())
{
$tickets[]= array
@@ -535,6 +542,26 @@
'new_ticket'
=> $this->db->f('view') ? false : true,
'billable_hours'
=> $this->db->f('billable_hours'),
);
+
+ foreach ($custom_cols as $custom_col)
+ {
+ if($custom_value =
$this->db->f($custom_col['column_name'],true))
+ {
+
switch($custom_col['datatype'])
+ {
+ case 'DT':
+
$custom_value = $GLOBALS['phpgw']->common->show_date(strtotime($custom_value) -
phpgwapi_datetime::user_timezone());
+ break;
+ case 'D':
+
$custom_value = $GLOBALS['phpgw']->common->show_date(strtotime($custom_value) -
phpgwapi_datetime::user_timezone(),$this->dateformat);
+ break;
+ default:
+ // nothing
+ }
+ }
+
$tickets[$i][$custom_col['column_name']] = $custom_value;
+ }
+ $i ++;
}
}
Modified: trunk/property/inc/class.uitts.inc.php
===================================================================
--- trunk/property/inc/class.uitts.inc.php 2012-05-07 12:39:18 UTC (rev
9295)
+++ trunk/property/inc/class.uitts.inc.php 2012-05-07 14:00:35 UTC (rev
9296)
@@ -374,7 +374,7 @@
$data = array
(
'msgbox_data' =>
$GLOBALS['phpgw']->common->msgbox($msgbox_data),
- 'column_list' =>
$this->bo->column_list($selected , $this->type_id, $allrows=true),
+ 'column_list' =>
$this->bo->column_list($selected),
'function_msg' =>
$function_msg,
'form_action' =>
$GLOBALS['phpgw']->link('/index.php',$link_data),
'lang_columns' =>
lang('columns'),
@@ -930,11 +930,13 @@
$uicols['descr'][] = lang('entry date');
$custom_cols =
isset($GLOBALS['phpgw_info']['user']['preferences']['property']['ticket_columns'])
&& $GLOBALS['phpgw_info']['user']['preferences']['property']['ticket_columns']
? $GLOBALS['phpgw_info']['user']['preferences']['property']['ticket_columns'] :
array();
+ $columns = $this->bo->get_columns();
+//_debug_array($custom_cols);die();
foreach ($custom_cols as $col)
{
$uicols['name'][] = $col;
- $uicols['descr'][] =
lang(str_replace('_', ' ', $col));
+ $uicols['descr'][] =
$columns[$col]['name'];
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [9296] property: custom fields at tickets,
Sigurd Nes <=