[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] property/inc/class.uitts.inc.php, 1.2
From: |
nomail |
Subject: |
[Phpgroupware-cvs] property/inc/class.uitts.inc.php, 1.2 |
Date: |
Wed, 2 Jun 2004 20:54:28 +0200 |
Update of /property/inc
Added Files:
Branch:
class.uitts.inc.php
date: 2004/06/02 18:54:28; author: sigurdne; state: Exp; lines: +928 -0
Log Message:
no message
=====================================================================
<?php
/**************************************************************************\
* phpGroupWare - property
*
* http://www.phpgroupware.org
*
*
*
* Facilities Management
*
* Written by Sigurd Nes [sigurdne at online.no]
*
*
------------------------------------------------------------------------ *
* Copyright 2000 - 2003 Free Software Foundation, Inc
*
* This program is part of the GNU project, see http://www.gnu.org/
*
*
------------------------------------------------------------------------ *
* This program 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.
*
\**************************************************************************/
class uitts
{
var $public_functions = array
(
'index' => True,
'view' => True,
'add' => True,
'delete' => True,
'excel' => True
);
function uitts()
{
$this->account =
$GLOBALS['phpgw_info']['user']['account_id'];
$GLOBALS['phpgw_info']['flags']['xslt_app'] = True;
$this->currentapp =
$GLOBALS['phpgw_info']['flags']['currentapp'];
$this->nextmatchs =
CreateObject('phpgwapi.nextmatchs');
$this->bo =
CreateObject($this->currentapp.'.botts',True);
$this->bocommon =
CreateObject($this->currentapp.'.bocommon');
$this->menu =
CreateObject($this->currentapp.'.menu');
$this->acl2 =
CreateObject($this->currentapp.'.acl2');
$this->acl2_location = '.ticket';
$this->acl_read =
$this->acl2->check('.ticket',1);
$this->acl_add =
$this->acl2->check('.ticket',2);
$this->acl_edit =
$this->acl2->check('.ticket',4);
$this->acl_delete =
$this->acl2->check('.ticket',8);
$this->acl_manage =
$this->acl2->check('.ticket',16);
$this->start =
$this->bo->start;
$this->query =
$this->bo->query;
$this->sort =
$this->bo->sort;
$this->order =
$this->bo->order;
$this->filter =
$this->bo->filter;
$this->user_filter =
$this->bo->user_filter;
$this->cat_id =
$this->bo->cat_id;
$this->district_id =
$this->bo->district_id;
$this->allrows =
$this->bo->allrows;
$this->menu->sub ='ticket';
}
function save_sessiondata()
{
$data = array
(
'start' => $this->start,
'query' => $this->query,
'sort' => $this->sort,
'order' => $this->order,
'filter' => $this->filter,
'user_filter'=> $this->user_filter,
'cat_id' => $this->cat_id,
'district_id' => $this->district_id,
'allrows' => $this->allrows
);
$this->bo->save_sessiondata($data);
}
function excel()
{
$list = $this->bo->read();
if (isset($list) AND is_array($list))
{
$i=0;
foreach($list as $entry)
{
if (isset($entry['child_date']) AND
is_array($entry['child_date']))
{
$j=0;
foreach($entry['child_date'] as
$date)
{
if($date['date_info'][0]['descr'])
{
$list[$i]['date_' . $j]=$date['date_info'][0]['entry_date'];
$name_temp['date_' . $j]=True;
$descr_temp[$date['date_info'][0]['descr']]=True;
}
$j++;
}
}
$i++;
}
}
//_debug_array($descr_temp);
$name = array('id',
'category',
'location_code',
'address',
'user',
'assignedto',
'timestampopened'
);
while (is_array($name_temp) && list($name_entry,) =
each($name_temp))
{
array_push($name,$name_entry);
}
array_push($name,'finnish_date','delay');
$descr = array(lang('ID'),
lang('category'),
lang('location'),
lang('address'),
lang('user'),
lang('Assigned to'),
lang('Started')
);
while (is_array($descr_temp) && list($descr_entry,) =
each($descr_temp))
{
array_push($descr,$descr_entry);
}
array_push($descr,lang('finnish date'),lang('delay'));
//_debug_array($descr);
$this->bocommon->excel($list,$name,$descr);
}
function index()
{
if(!$this->acl_read)
{
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction='.$this->currentapp.'.uilocation.stop&perm=1&acl_location='
. $this->acl2_location);
}
$GLOBALS['phpgw']->xslttpl->add_file(array('tts',
'menu',
'nextmatchs',
'search_field'));
$second_display =
get_var('second_display',array('POST','GET'));
$default_category =
$GLOBALS['phpgw_info']['user']['preferences'][$this->currentapp]['default_district'];
if ($default_category && !$second_display &&
!$this->district_id)
{
$this->bo->district_id = $default_category;
$this->district_id =
$default_category;
}
$bgcolor['1'] = '#dadada';
$bgcolor['2'] = '#dad0d0';
$bgcolor['3'] = '#dacaca';
$bgcolor['4'] = '#dac0c0';
$bgcolor['5'] = '#dababa';
$bgcolor['6'] = '#dab0b0';
$bgcolor['7'] = '#daaaaa';
$bgcolor['8'] = '#da9090';
$bgcolor['9'] = '#da8a8a';
$bgcolor['10'] = '#da7a7a';
$links = $this->menu->links();
$ticket_list = $this->bo->read();
$uicols=$this->bo->uicols;
//_debug_array($uicols);
//_debug_array($ticket_list);
while (is_array($ticket_list) && list(,$ticket) =
each($ticket_list))
{
if($ticket['subject'])
{
$first= $ticket['subject'];
}
else
{
$first= $ticket['category'];
}
$content[] = array
(
'id'
=> $ticket['id'],
'bgcolor'
=> $bgcolor[$ticket['priority']],
'new_ticket'
=> $ticket['new_ticket'],
'priostr'
=> str_repeat("||", $ticket['priority']),
'first'
=> $first,
'location_code'
=> $ticket['location_code'],
'address'
=> $ticket['address'],
'date'
=> $ticket['timestampopened'],
'finnish_date'
=> $ticket['finnish_date'],
'delay'
=> $ticket['delay'],
'user'
=> $ticket['user'],
'assignedto'
=> $ticket['assignedto'],
'child_date'
=> $ticket['child_date'],
'link_view'
=>
$GLOBALS['phpgw']->link('/index.php','menuaction='.$this->currentapp.'.uitts.view&id='
. $ticket['id']),
'lang_view_statustext' =>
lang('view the ticket'),
'text_view'
=> lang('view'),
);
}
$table_header[] = array
(
'sort_priority' =>
$this->nextmatchs->show_sort_order(array
(
'sort' => $this->sort,
'var' => 'priority',
'order' => $this->order,
'extra' => array('menuaction' =>
$this->currentapp.'.uitts.index',
'cat_id'
=>$this->cat_id,
'filter'
=>$this->filter,
'user_filter'
=>$this->user_filter,
'district_id' =>
$this->district_id,
'query'
=>$this->query,
'second_display'
=> true,
'allrows'=>$this->allrows)
)),
'lang_priority' => lang('Priority'),
'lang_priority_statustext' =>
lang('Sort the tickets by their priority'),
'sort_id' =>
$this->nextmatchs->show_sort_order(array
(
'sort' => $this->sort,
'var' => 'fm_tts_tickets.id',
'order' => $this->order,
'extra' => array('menuaction' =>
$this->currentapp.'.uitts.index',
'cat_id'
=>$this->cat_id,
'filter'
=>$this->filter,
'user_filter'
=>$this->user_filter,
'district_id' =>
$this->district_id,
'query'
=>$this->query,
'second_display'
=> true,
'allrows'=>$this->allrows)
)),
'lang_id' => lang('ID'),
'lang_id_statustext' => lang('Sort
the tickets by their ID'),
'lang_subject' =>
lang('Subject'),
'lang_time_created' => lang('Started'),
'lang_view' => lang('view'),
'lang_location_code' => lang('Location'),
'lang_address' => lang('Address'),
'lang_user' => lang('user'),
'sort_assigned_to' =>
$this->nextmatchs->show_sort_order(array
(
'sort' => $this->sort,
'var' => 'assignedto',
'order' => $this->order,
'extra' => array('menuaction' =>
$this->currentapp.'.uitts.index',
'cat_id'
=>$this->cat_id,
'filter'
=>$this->filter,
'user_filter'
=>$this->user_filter,
'district_id' =>
$this->district_id,
'query'
=>$this->query,
'second_display'
=> true,
'allrows'=>$this->allrows)
)),
'lang_assigned_to' =>
lang('Assigned to'),
'sort_opened_by' =>
$this->nextmatchs->show_sort_order(array
(
'sort' => $this->sort,
'var' => 'user',
'order' => $this->order,
'extra' => array('menuaction' =>
$this->currentapp.'.uitts.index',
'cat_id'
=>$this->cat_id,
'filter'
=>$this->filter,
'user_filter'
=>$this->user_filter,
'district_id' =>
$this->district_id,
'query'
=>$this->query,
'second_display'
=> true,
'allrows'=>$this->allrows)
)),
'sort_date' =>
$this->nextmatchs->show_sort_order(array
(
'sort' => $this->sort,
'var' => 'fm_tts_tickets.entry_date',
'order' => $this->order,
'extra' => array('menuaction' =>
$this->currentapp.'.uitts.index',
'cat_id'
=>$this->cat_id,
'filter'
=>$this->filter,
'user_filter'
=>$this->user_filter,
'district_id' =>
$this->district_id,
'query'
=>$this->query,
'second_display'
=> true,
'allrows'=>$this->allrows)
)),
'sort_finnish_date' =>
$this->nextmatchs->show_sort_order(array
(
'sort' => $this->sort,
'var' => 'finnish_date',
'order' => $this->order,
'extra' => array('menuaction' =>
$this->currentapp.'.uitts.index',
'cat_id'
=>$this->cat_id,
'filter'
=>$this->filter,
'user_filter'
=>$this->user_filter,
'district_id' =>
$this->district_id,
'query'
=>$this->query,
'second_display'
=> true,
'allrows'=>$this->allrows)
)),
'lang_finnish_date' =>
lang('finnish date'),
'lang_delay' =>
lang('delay'),
'lang_finnish_statustext'=> lang('presumed
finnish date'),
'lang_opened_by' => lang('Opened
by')
);
for ($i=0;$i<count($uicols);$i++)
{
$table_header[0]['extra'][$i]['header']
= $uicols[$i];
}
$table_add[] = array
(
'lang_add' =>
lang('add'),
'lang_add_statustext' => lang('add a ticket'),
'add_action' =>
$GLOBALS['phpgw']->link('/index.php','menuaction='.$this->currentapp.'.uitts.add')
);
$link_data = array
(
'menuaction' =>
$this->currentapp.'.uitts.index',
'second_display' => true,
'sort' =>$this->sort,
'order' =>$this->order,
'cat_id' =>$this->cat_id,
'filter' =>$this->filter,
'user_filter'
=>$this->user_filter,
'query' =>$this->query,
'district_id' =>
$this->district_id,
'allrows' =>$this->allrows
);
$receipt =
$GLOBALS['phpgw']->session->appsession('receipt',$this->currentapp);
$GLOBALS['phpgw']->session->appsession('receipt',$this->currentapp,'');
$GLOBALS['phpgw']->preferences->read_repository();
if
($GLOBALS['phpgw_info']['user']['preferences'][$this->currentapp]['refreshinterval'])
{
$autorefresh =
$GLOBALS['phpgw_info']['user']['preferences'][$this->currentapp]['refreshinterval'].';
URL='.$GLOBALS['phpgw']->link('/index.php',$link_data);
}
if(!$this->allrows)
{
$record_limit =
$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'];
}
else
{
$record_limit = $this->bo->total_records;
}
$msgbox_data = $this->bocommon->msgbox_data($receipt);
$link_excel = array
(
'menuaction' =>
$this->currentapp.'.uitts.excel',
'second_display' => true,
'sort' =>$this->sort,
'order' =>$this->order,
'cat_id' =>$this->cat_id,
'filter' =>$this->filter,
'user_filter'
=>$this->user_filter,
'query' =>$this->query,
'district_id' =>
$this->district_id,
'allrows'
=>$this->allrows,
'start' =>$this->start
);
$data = array
(
'lang_excel' =>
'excel',
'link_excel' =>
$GLOBALS['phpgw']->link('/index.php',$link_excel),
'lang_excel_help' =>
lang('Download table to MS Excel'),
'msgbox_data'
=> $GLOBALS['phpgw']->common->msgbox($msgbox_data),
'autorefresh'
=> $autorefresh,
'links'
=> $links,
'allow_allrows'
=> True,
'allrows'
=> $this->allrows,
'start_record'
=> $this->start,
'record_limit'
=> $record_limit,
'num_records'
=> count($ticket_list),
'all_records'
=> $this->bo->total_records,
'link_url'
=> $GLOBALS['phpgw']->link('/index.php',$link_data),
'img_path'
=> $GLOBALS['phpgw']->common->get_image_path('phpgwapi','default'),
'lang_no_cat'
=> lang('no category'),
'lang_cat_statustext' =>
lang('Select the category the ticket belongs to. To do not use a category
select NO CATEGORY'),
'select_name'
=> 'cat_id',
'cat_list'
=> $this->bo->select_category_list('filter',$this->cat_id),
'select_action'
=> $GLOBALS['phpgw']->link('/index.php',$link_data),
'filter_name'
=> 'filter',
'filter_list'
=> $this->bo->filter(array('filter' => $this->filter,'default' => 'open')),
'lang_show_all'
=> lang('Open'),
'lang_filter_statustext' =>
lang('Select the filter. To show all entries select SHOW ALL'),
'lang_searchfield_statustext' => lang('Enter
the search string. To show all entries, empty this field and press the SUBMIT
button again'),
'lang_searchbutton_statustext' => lang('Submit
the search string'),
'query'
=> $this->query,
'lang_search'
=> lang('search'),
'table_header'
=> $table_header,
'values'
=> $content,
'table_add'
=> $table_add,
'district_list'
=> $this->bocommon->select_district_list('filter',$this->district_id),
'lang_no_district'
=> lang('no district'),
'lang_district_statustext' =>
lang('Select the district the selection belongs to. To do not use a district
select NO DISTRICT'),
'select_district_name' =>
'district_id',
'lang_user_statustext' =>
lang('Assigned to'),
'select_user_name'
=> 'user_filter',
'lang_no_user'
=> lang('No user'),
'user_list'
=>
$this->bocommon->get_user_list_right2('filter',4,$this->user_filter,$this->acl2_location,'',$default='')
);
$appname
= lang('helpdesk');
$function_msg =
lang('list ticket');
$GLOBALS['phpgw_info']['flags']['app_header'] =
lang($this->currentapp) . ' - ' . $appname . ': ' . $function_msg;
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array('list' => $data));
$this->save_sessiondata();
}
function add()
{
if(!$this->acl_add)
{
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction='.$this->currentapp.'.uilocation.stop&perm=2&acl_location='
. $this->acl2_location);
}
$bolocation =
CreateObject($this->currentapp.'.bolocation');
$values = get_var('values',array('POST'));
$insert_record =
$GLOBALS['phpgw']->session->appsession('insert_record',$this->currentapp);
$insert_record_entity =
$GLOBALS['phpgw']->session->appsession('insert_record_entity',$this->currentapp);
for ($j=0;$j<count($insert_record_entity);$j++)
{
$insert_record['extra'][$insert_record_entity[$j]] =
$insert_record_entity[$j];
}
$GLOBALS['phpgw']->xslttpl->add_file(array('tts'));
//_debug_array($insert_record);
if ($values['save'])
{
for ($i=0;
$i<count($insert_record['location']); $i++)
{
if($_POST[$insert_record['location'][$i]])
{
$values['location'][$insert_record['location'][$i]]=
$_POST[$insert_record['location'][$i]];
}
}
while (is_array($insert_record['extra']) &&
list($key,$column) = each($insert_record['extra']))
{
if($_POST[$key])
{
$values['extra'][$column]
= $_POST[$key];
}
}
$values['street_name'] =
$_POST['street_name'];
$values['street_number'] =
$_POST['street_number'];
$values['location_name'] = $_POST['loc'
. (count($values['location'])).'_name']; // if not address - get the parent
name as address
/* if(!$values['subject'])
{
$receipt['error'][]=array('msg'=>lang('Please type a subject for this ticket
!'));
}
*/ if(!$values['assignedto'] &&
!$values['group_id'])
{
$receipt['error'][]=array('msg'=>lang('Please select a person or a group to
handle the ticket !'));
}
if(!$values['cat_id'])
{
$receipt['error'][]=array('msg'=>lang('Please select a category !'));
}
/* if(!$values['details'])
{
$receipt['error'][]=array('msg'=>lang('Please give som details !'));
}
*/
if(!$values['location']['loc1'] &&
!$values['extra']['p_num'])
{
$receipt['error'][]=array('msg'=>lang('Pleace select a location - or an entity
!'));
}
if(!$receipt['error'])
{
$receipt = $this->bo->add($values);
$GLOBALS['phpgw']->session->appsession('receipt',$this->currentapp,$receipt);
header('Location: '.
$GLOBALS['phpgw']->link('/index.php','menuaction='.$this->currentapp.'.uitts.index'));
}
else
{
if($values['location'])
{
$location_code=implode("-",
$values['location']);
$values['location_data'] =
$bolocation->read_single($location_code,$values['extra']);
}
if($values['extra']['p_num'])
{
$values['p'][$values['extra']['p_entity_id']]['p_num']=$values['extra']['p_num'];
$values['p'][$values['extra']['p_entity_id']]['p_entity_id']=$values['extra']['p_entity_id'];
$values['p'][$values['extra']['p_entity_id']]['p_cat_id']=$values['extra']['p_cat_id'];
$values['p'][$values['extra']['p_entity_id']]['p_cat_name']=$_POST['entity_cat_name_'.$values['extra']['p_entity_id']];
}
}
}
$location_data=$bolocation->initiate_ui_location(array(
'values' =>
$values['location_data'],
'type_id' => -1,
// calculated from location_types
'no_link' =>
False, // disable lookup links for location type less than type_id
'tenant' => True,
'lookup_type' => 'form',
'lookup_entity' =>
$this->bocommon->get_lookup_entity('ticket'),
'entity_data' => $values['p']
));
$link_data = array
(
'menuaction' =>
$this->currentapp.'.uitts.add'
);
if(!$values['assignedto'])
{
$values['assignedto']=
$GLOBALS['phpgw_info']['user']['preferences'][$this->currentapp]['assigntodefault'];
}
if(!$values['group_id'])
{
$values['group_id']=
$GLOBALS['phpgw_info']['user']['preferences'][$this->currentapp]['groupdefault'];
}
if(!$values['cat_id'])
{
$this->cat_id =
$GLOBALS['phpgw_info']['user']['preferences'][$this->currentapp]['tts_category'];
}
$dateformat =
strtolower($GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat']);
$sep = '/';
$dlarr[strpos($dateformat,'y')] = 'yyyy';
$dlarr[strpos($dateformat,'m')] = 'MM';
$dlarr[strpos($dateformat,'d')] = 'DD';
ksort($dlarr);
$dateformat= (implode($sep,$dlarr));
switch(substr($dateformat,0,1))
{
case 'M':
$dateformat_validate=
"javascript:vDateType='1'";
$onKeyUp =
"DateFormat(this,this.value,event,false,'1')";
$onBlur =
"DateFormat(this,this.value,event,true,'1')";
break;
case 'y':
$dateformat_validate="javascript:vDateType='2'";
$onKeyUp =
"DateFormat(this,this.value,event,false,'2')";
$onBlur =
"DateFormat(this,this.value,event,true,'2')";
break;
case 'D':
$dateformat_validate="javascript:vDateType='3'";
$onKeyUp =
"DateFormat(this,this.value,event,false,'3')";
$onBlur =
"DateFormat(this,this.value,event,true,'3')";
break;
}
$msgbox_data = $this->bocommon->msgbox_data($receipt);
$data = array
(
'lang_dateformat'
=> strtolower($dateformat),
'dateformat_validate' =>
$dateformat_validate,
'onKeyUp'
=> $onKeyUp,
'onBlur'
=> $onBlur,
'dateformat_source'
=> './'.$this->currentapp.'/inc/dateformat.js',
'msgbox_data'
=> $GLOBALS['phpgw']->common->msgbox($msgbox_data),
'location_data'
=> $location_data,
'lang_assign_to'
=> lang('Assign to'),
'lang_no_user'
=> lang('Select user'),
'lang_user_statustext' =>
lang('Select the user the selection belongs to. To do not use a user select NO
USER'),
'select_user_name'
=> 'values[assignedto]',
'user_list'
=>
$this->bocommon->get_user_list_right2('select',4,$values['assignedto'],$this->acl2_location),
'lang_group'
=> lang('Group'),
'lang_no_group'
=> lang('No group'),
'group_list'
=> $this->bocommon->get_group_list('select',$values['group_id']),
'select_group_name'
=> 'values[group_id]',
'lang_priority'
=> lang('Priority'),
'lang_priority_statustext' =>
lang('Select the priority the selection belongs to.'),
'select_priority_name' =>
'values[priority]',
'priority_list'
=> $this->bo->get_priority_list($values['priority']),
'form_action'
=> $GLOBALS['phpgw']->link('/index.php',$link_data),
'done_action'
=>
$GLOBALS['phpgw']->link('/index.php','menuaction='.$this->currentapp.'.uitts.index'),
'lang_subject'
=> lang('Subject'),
'lang_subject_statustext' =>
lang('Enter the subject of this ticket'),
'lang_details'
=> lang('Details'),
'lang_details_statustext' =>
lang('Enter the details of this ticket'),
'lang_category'
=> lang('category'),
'lang_save'
=> lang('save'),
'lang_done'
=> lang('done'),
'value_details'
=> $values['details'],
'value_subject'
=> $values['subject'],
'lang_finnish_date'
=> lang('finnish date'),
'value_finnish_date' =>
$values['finnish_date'],
'lang_done_statustext' =>
lang('Back to the ticket list'),
'lang_save_statustext' =>
lang('Save the ticket'),
'lang_no_cat'
=> lang('no category'),
'lang_cat_statustext' =>
lang('Select the category the building belongs to. To do not use a category
select NO CATEGORY'),
'select_name'
=> 'values[cat_id]',
'lang_town_statustext' =>
lang('Select the part of town the building belongs to. To do not use a part of
town - select NO PART OF TOWN'),
'lang_part_of_town'
=> lang('Part of town'),
'lang_no_part_of_town' =>
lang('No part of town'),
'cat_list'
=> $this->bo->select_category_list('select',$this->cat_id)
);
//_debug_array($data);
$appname
= lang('helpdesk');
$function_msg =
lang('add ticket');
$GLOBALS['phpgw_info']['flags']['app_header'] =
lang($this->currentapp) . ' - ' . $appname . ': ' . $function_msg;
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array('add'
=> $data));
}
function view()
{
if(!$this->acl_read)
{
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction='.$this->currentapp.'.uilocation.stop&perm=1&acl_location='
. $this->acl2_location);
}
$bolocation =
CreateObject($this->currentapp.'.bolocation');
$id = get_var('id',array('GET'));
$values = get_var('values',array('POST','GET'));
$GLOBALS['phpgw']->xslttpl->add_file(array('tts'));
if($values['save'])
{
if(!$this->acl_edit)
{
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction='.$this->currentapp.'.uilocation.stop&perm=4&acl_location='
. $this->acl2_location);
}
$so2 =
CreateObject($this->currentapp.'.sotts2');
$receipt = $so2->update_ticket($values,$id);
}
$ticket = $this->bo->read_single($id);
$additional_notes =
$this->bo->read_additional_notes($id);
$record_history = $this->bo->read_record_history($id);
$request_link_data = array
(
'menuaction' =>
$this->currentapp.'.uirequest.edit',
'bypass' => true,
'location_code' =>
$ticket['location_code'],
'p_num' =>
$ticket['p_num'],
'p_entity_id' =>
$ticket['p_entity_id'],
'p_cat_id' =>
$ticket['p_cat_id'],
'tenant_id' =>
$ticket['tenant_id'],
'ticket_id' => $id
);
$order_link_data = array
(
'menuaction' =>
$this->currentapp.'.uiproject.edit',
'bypass' => true,
'location_code' =>
$ticket['location_code'],
'p_num' =>
$ticket['p_num'],
'p_entity_id' =>
$ticket['p_entity_id'],
'p_cat_id' =>
$ticket['p_cat_id'],
'tenant_id' =>
$ticket['tenant_id'],
'ticket_id' => $id
);
$form_link = array
(
'menuaction' =>
$this->currentapp.'.uitts.view',
'id' => $id
);
$table_header_history[] = array
(
'lang_date' => lang('Date'),
'lang_user' => lang('User'),
'lang_action' => lang('Action'),
'lang_new_value' => lang('New value')
);
$table_header_additional_notes[] = array
(
'lang_count' => '#',
'lang_date' => lang('Date'),
'lang_user' => lang('User'),
'lang_note' => lang('Note'),
);
//_debug_array($ticket['location_data']);
$location_data=$bolocation->initiate_ui_location(array(
'values' =>
$ticket['location_data'],
'type_id' =>
count(explode('-',$ticket['location_data']['location_code'])),
'no_link' =>
False, // disable lookup links for location type less than type_id
'tenant' =>
$ticket['location_data']['tenant_id'],
'lookup_type' => 'view',
'lookup_entity' =>
$this->bocommon->get_lookup_entity('ticket'),
'entity_data' => $ticket['p']
));
if ($ticket['cat_id'])
{
$this->cat_id = $ticket['cat_id'];
}
if($ticket['request_id'])
{
$request_lookup_data = array
(
'menuaction' =>
$this->currentapp.'.uirequest.view'
);
}
if($ticket['project_id'])
{
$project_lookup_data = array
(
'menuaction' =>
$this->currentapp.'.uiproject.view'
);
}
$start_entity =
$this->bocommon->get_start_entity('ticket');
//_debug_array($start_entity);
if (isset($start_entity) AND is_array($start_entity))
{
$i=0;
foreach($start_entity as $entry)
{
$link_entity[$i]['link'] =
$GLOBALS['phpgw']->link('/index.php',array
(
'menuaction' =>
$this->currentapp.'.uientity.edit',
'bypass'
=> true,
'location_code' =>
$ticket['location_code'],
'entity_id'
=> $entry['id'],
'p_num'
=> $ticket['p_num'],
'p_entity_id' =>
$ticket['p_entity_id'],
'p_cat_id'
=> $ticket['p_cat_id'],
'tenant_id'
=> $ticket['tenant_id'],
'ticket_id'
=> $id
));
$link_entity[$i]['name'] =
$entry['name'];
$i++;
}
}
//_debug_array($link_entity);
$dateformat =
strtolower($GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat']);
$sep = '/';
$dlarr[strpos($dateformat,'y')] = 'yyyy';
$dlarr[strpos($dateformat,'m')] = 'MM';
$dlarr[strpos($dateformat,'d')] = 'DD';
ksort($dlarr);
$dateformat= (implode($sep,$dlarr));
switch(substr($dateformat,0,1))
{
case 'M':
$dateformat_validate=
"javascript:vDateType='1'";
$onKeyUp =
"DateFormat(this,this.value,event,false,'1')";
$onBlur =
"DateFormat(this,this.value,event,true,'1')";
break;
case 'y':
$dateformat_validate="javascript:vDateType='2'";
$onKeyUp =
"DateFormat(this,this.value,event,false,'2')";
$onBlur =
"DateFormat(this,this.value,event,true,'2')";
break;
case 'D':
$dateformat_validate="javascript:vDateType='3'";
$onKeyUp =
"DateFormat(this,this.value,event,false,'3')";
$onBlur =
"DateFormat(this,this.value,event,true,'3')";
break;
}
$msgbox_data = $this->bocommon->msgbox_data($receipt);
$data = array
(
'lang_dateformat'
=> strtolower($dateformat),
'dateformat_validate' =>
$dateformat_validate,
'onKeyUp'
=> $onKeyUp,
'onBlur'
=> $onBlur,
'dateformat_source'
=> './'.$this->currentapp.'/inc/dateformat.js',
'lang_finnish_date'
=> lang('finnish date'),
'value_finnish_date' =>
$ticket['finnish_date'],
'link_entity'
=> $link_entity,
'msgbox_data'
=> $GLOBALS['phpgw']->common->msgbox($msgbox_data),
'entity_origin_list' =>
$ticket['entity'],
'lang_request'
=> lang('Request'),
'lang_request_statustext' =>
lang('Link to the request originatet from this ticket'),
'link_request'
=> $GLOBALS['phpgw']->link('/index.php',$request_lookup_data),
'value_request_id'
=> $ticket['request_id'],
'lang_project'
=> lang('Project'),
'lang_project_statustext' =>
lang('Link to the project originatet from this ticket'),
'link_project'
=> $GLOBALS['phpgw']->link('/index.php',$project_lookup_data),
'value_project_id'
=> $ticket['project_id'],
'location_data'
=> $location_data,
'lang_location_code' =>
lang('Location Code'),
'lang_ticket'
=> lang('Ticket'),
'table_header_additional_notes' =>
$table_header_additional_notes,
'table_header_history' =>
$table_header_history,
'lang_status'
=> lang('Status'),
'select_status_name' =>
'values[status]',
'status_list'
=> $this->bo->get_status_list($ticket['status']),
'lang_status_statustext' =>
lang('Set the status of the ticket'),
'lang_no_user'
=> lang('Select user'),
'lang_user_statustext' =>
lang('Select the user the selection belongs to. To do not use a user select NO
USER'),
'select_user_name'
=> 'values[assignedto]',
'user_list'
=>
$this->bocommon->get_user_list_right2('select',4,$ticket['assignedto'],$this->acl2_location),
'lang_group'
=> lang('Group'),
'lang_no_group'
=> lang('No group'),
'group_list'
=> $this->bocommon->get_group_list('select',$ticket['group_id']),
'select_group_name'
=> 'values[group_id]',
'lang_priority'
=> lang('Priority'),
'value_priority'
=> $ticket['priority'],
'lang_priority_statustext' =>
lang('Select the priority the selection belongs to.'),
'select_priority_name' =>
'values[priority]',
'priority_list'
=> $this->bo->get_priority_list($ticket['priority']),
'lang_no_cat'
=> lang('no category'),
'lang_cat_statustext' =>
lang('Select the category the building belongs to. To do not use a category
select NO CATEGORY'),
'select_name'
=> 'values[cat_id]',
'cat_list'
=> $this->bo->select_category_list('select',$this->cat_id),
'lang_category'
=> lang('category'),
'value_category_name' =>
$ticket['category_name'],
'form_action'
=> $GLOBALS['phpgw']->link('/index.php',$form_link),
'done_action'
=>
$GLOBALS['phpgw']->link('/index.php','menuaction='.$this->currentapp.'.uitts.index'),
'value_subject'
=> $ticket['subject'],
'lang_subject_statustext' =>
lang('update subject'),
'value_id'
=> '[ #'. $id . ' ] - ',
'lang_details'
=> lang('Details'),
'value_details'
=> $ticket['details'],
'lang_details_statustext' =>
lang('Add new comments'),
'lang_additional_notes' =>
lang('Additional notes'),
'lang_new_note'
=> lang('New Note'),
'lang_opendate'
=> lang('Open Date'),
'value_opendate'
=> $ticket['timestampopened'],
'lang_assignedfrom'
=> lang('Assigned from'),
'value_assignedfrom' =>
$ticket['user_name'],
'lang_assignedto'
=> lang('Assigned to'),
'value_assignedto'
=> $ticket['assignedto_name'],
'lang_no_additional_notes' =>
lang('No additional notes'),
'lang_history'
=> lang('History'),
'lang_no_history'
=> lang('No history for this record'),
'additional_notes'
=> $additional_notes,
'record_history'
=> $record_history,
'request_link'
=> $GLOBALS['phpgw']->link('/index.php',$request_link_data),
'order_link'
=> $GLOBALS['phpgw']->link('/index.php',$order_link_data),
'lang_generate_request' =>
lang('Generate Request'),
'lang_generate_request_statustext'
=> lang('Klick this to generate a request with this information'),
'lang_generate_order' =>
lang('Generate order'),
'lang_generate_order_statustext'
=> lang('Klick this to generate an order with this information'),
'lang_save'
=> lang('save'),
'lang_name'
=> lang('name'),
'lang_done'
=> lang('done'),
);
$appname
= lang('helpdesk');
$function_msg =
lang('view ticket detail');
$GLOBALS['phpgw_info']['flags']['app_header'] =
lang($this->currentapp) . ' - ' . $appname . ': ' . $function_msg;
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array('view' => $data));
}
}
?>
- [Phpgroupware-cvs] property/inc/class.uitts.inc.php, 1.2,
nomail <=