fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [15422] Syncromind: merge 5399:15421 from trunk


From: sigurdne
Subject: [Fmsystem-commits] [15422] Syncromind: merge 5399:15421 from trunk
Date: Thu, 4 Aug 2016 13:57:01 +0000 (UTC)

Revision: 15422
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=15422
Author:   sigurdne
Date:     2016-08-04 13:57:01 +0000 (Thu, 04 Aug 2016)
Log Message:
-----------
Syncromind: merge 5399:15421 from trunk

Modified Paths:
--------------
    branches/dev-syncromind-2/admin/inc/class.ui_custom.inc.php
    branches/dev-syncromind-2/admin/inc/class.uiaccounts.inc.php
    branches/dev-syncromind-2/admin/templates/base/custom.xsl
    branches/dev-syncromind-2/helpdesk/inc/class.botts.inc.php
    branches/dev-syncromind-2/helpdesk/inc/class.menu.inc.php
    branches/dev-syncromind-2/helpdesk/inc/class.sotts.inc.php
    branches/dev-syncromind-2/helpdesk/inc/class.uitts.inc.php
    branches/dev-syncromind-2/helpdesk/inc/hook_config.inc.php
    branches/dev-syncromind-2/helpdesk/setup/phpgw_no.lang
    branches/dev-syncromind-2/helpdesk/templates/base/config.tpl
    branches/dev-syncromind-2/helpdesk/templates/base/tts.xsl
    branches/dev-syncromind-2/phpgwapi/inc/class.acl.inc.php
    branches/dev-syncromind-2/phpgwapi/inc/class.custom_fields.inc.php
    branches/dev-syncromind-2/phpgwapi/inc/class.phpgw.inc.php
    branches/dev-syncromind-2/phpgwapi/templates/base/attributes_form.xsl
    branches/dev-syncromind-2/preferences/inc/class.boadmin_acl.inc.php
    branches/dev-syncromind-2/property/inc/class.boadmin.inc.php
    branches/dev-syncromind-2/property/inc/class.boadmin_entity.inc.php
    branches/dev-syncromind-2/property/inc/class.boadmin_location.inc.php
    branches/dev-syncromind-2/property/inc/class.bogeneric.inc.php
    branches/dev-syncromind-2/property/inc/class.custom_fields.inc.php
    branches/dev-syncromind-2/property/inc/class.menu.inc.php
    branches/dev-syncromind-2/property/inc/class.sojasper.inc.php
    branches/dev-syncromind-2/property/inc/class.uiadmin.inc.php
    branches/dev-syncromind-2/property/inc/class.uitts.inc.php
    branches/dev-syncromind-2/property/templates/base/admin.xsl
    branches/dev-syncromind-2/property/templates/base/admin_entity.xsl
    branches/dev-syncromind-2/property/templates/base/attributes_form.xsl
    branches/dev-syncromind-2/rental/inc/class.uiapplication.inc.php
    branches/dev-syncromind-2/rental/inc/model/class.application.inc.php
    branches/dev-syncromind-2/rental/templates/base/application.xsl

Property Changed:
----------------
    branches/dev-syncromind-2/


Property changes on: branches/dev-syncromind-2
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/dev-syncromind:13653
/branches/stavangerkommune:12743-12875,12986
/trunk:14934-14935,15165-15215,15218-15220,15222-15304,15306-15337,15339,15341-15398
   + /branches/dev-syncromind:13653
/branches/stavangerkommune:12743-12875,12986
/trunk:14934-14935,15165-15215,15218-15220,15222-15304,15306-15337,15339,15341-15398,15400-15421

Modified: branches/dev-syncromind-2/admin/inc/class.ui_custom.inc.php
===================================================================
--- branches/dev-syncromind-2/admin/inc/class.ui_custom.inc.php 2016-08-04 
13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/admin/inc/class.ui_custom.inc.php 2016-08-04 
13:57:01 UTC (rev 15422)
@@ -368,10 +368,25 @@
                                'menu_selection' => 
$GLOBALS['phpgw_info']['flags']['menu_selection']
                        );
 
-                       $multiple_choice = '';
-                       if(isset($values['column_info']['type']) && 
($values['column_info']['type'] == 'R' || $values['column_info']['type'] == 
'CH' || $values['column_info']['type'] == 'LB'))
+                       $multiple_choice = false;
+                       $custom_get_list = false;
+                       $custom_get_single = false;
+                       switch ($values['column_info']['type'])
                        {
-                               $multiple_choice = True;
+                               case 'R':
+                               case 'CH':
+                               case 'LB':
+                                       $multiple_choice = true;
+                                       break;
+                               case 'custom1':
+                                       $custom_get_list = true;
+                                       break;
+                               case 'custom2':
+                               case 'custom3':
+                                       $custom_get_list = true;
+                                       $custom_get_single = true;
+                                       break;
+                               default:
                        }
 
 //_debug_array($values);
@@ -386,6 +401,8 @@
                                'lang_new_value_statustext'                     
=> lang('New value for multiple choice'),
                                'multiple_choice'                               
        => $multiple_choice,
                                'value_choice'                                  
 => (isset($values['choice']) ? $values['choice'] : ''),
+                               'custom_get_list' => $custom_get_list,
+                               'custom_get_single' => $custom_get_single,
                                'lang_delete_value'                             
        => lang('Delete value'),
                                'lang_value'                                    
        => lang('value'),
                                'lang_delete_choice_statustext'         => 
lang('Delete this value from the list of multiple choice'),
@@ -444,7 +461,11 @@
                                'value_helpmsg'                                 
        => isset($values['helpmsg']) ? $values['helpmsg'] : '',
                                'lang_helpmsg'                                  
        => lang('help message'),
                                'lang_helpmsg_statustext'                       
=> lang('Enables help message for this attribute'),
-                               'value_location'                                
        => $location
+                               'value_location'                                
        => $location,
+                               'value_get_list_function' => 
$values['get_list_function'],
+                               'value_get_list_function_input' => 
print_r($values['get_list_function_input'], true),
+                               'value_get_single_function' => 
$values['get_single_function'],
+                               'value_get_single_function_input' => 
print_r($values['get_single_function_input'], true),
                        );
 //_debug_array($values);
 

Modified: branches/dev-syncromind-2/admin/inc/class.uiaccounts.inc.php
===================================================================
--- branches/dev-syncromind-2/admin/inc/class.uiaccounts.inc.php        
2016-08-04 13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/admin/inc/class.uiaccounts.inc.php        
2016-08-04 13:57:01 UTC (rev 15422)
@@ -699,6 +699,7 @@
                                'sms'                   => array('top_grant' => 
true),
                                'todo'                  => array('top_grant' => 
true),
                                'tts'                   => array('top_grant' => 
true),
+                               'helpdesk'              => array('top_grant' => 
true),
                        );
                        $GLOBALS['phpgw']->locations->verify($apps_with_acl);
 

Modified: branches/dev-syncromind-2/admin/templates/base/custom.xsl
===================================================================
--- branches/dev-syncromind-2/admin/templates/base/custom.xsl   2016-08-04 
13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/admin/templates/base/custom.xsl   2016-08-04 
13:57:01 UTC (rev 15422)
@@ -1,59 +1,59 @@
 <!-- $Id$ -->
 
 <xsl:template name="custom">
-               <xsl:choose>
-                       <xsl:when test="list_attribute">
-                               <xsl:apply-templates select="list_attribute"/>
-                       </xsl:when>
-                       <xsl:when test="edit_attrib">
-                               <xsl:apply-templates select="edit_attrib"/>
-                       </xsl:when>
-                       <xsl:when test="list_custom_function">
-                               <xsl:apply-templates 
select="list_custom_function"/>
-                       </xsl:when>
-                       <xsl:when test="edit_custom_function">
-                               <xsl:apply-templates 
select="edit_custom_function"/>
-                       </xsl:when>
-               </xsl:choose>
+       <xsl:choose>
+               <xsl:when test="list_attribute">
+                       <xsl:apply-templates select="list_attribute"/>
+               </xsl:when>
+               <xsl:when test="edit_attrib">
+                       <xsl:apply-templates select="edit_attrib"/>
+               </xsl:when>
+               <xsl:when test="list_custom_function">
+                       <xsl:apply-templates select="list_custom_function"/>
+               </xsl:when>
+               <xsl:when test="edit_custom_function">
+                       <xsl:apply-templates select="edit_custom_function"/>
+               </xsl:when>
+       </xsl:choose>
 </xsl:template>
        
 <xsl:template match="table_add">
-                       <tr>
-                               <td height="50">
+       <tr>
+               <td height="50">
                        <xsl:variable name="add_action">
                                <xsl:value-of select="add_action"/>
                        </xsl:variable>
                        <xsl:variable name="lang_add">
                                <xsl:value-of select="lang_add"/>
                        </xsl:variable>
-                                       <form method="post" 
action="{$add_action}">
-                                               <input type="submit" name="add" 
value="{$lang_add}" onMouseout="window.status='';return true;">
-                                                       <xsl:attribute 
name="onMouseover">
-                                                               
<xsl:text>window.status='</xsl:text>
-                                                                       
<xsl:value-of select="lang_add_standardtext"/>
-                                                               <xsl:text>'; 
return true;</xsl:text>
-                                                       </xsl:attribute>
-                                               </input>
-                                       </form>
-                               </td>
-                               <td height="50">
+                       <form method="post" action="{$add_action}">
+                               <input type="submit" name="add" 
value="{$lang_add}" onMouseout="window.status='';return true;">
+                                       <xsl:attribute name="onMouseover">
+                                               
<xsl:text>window.status='</xsl:text>
+                                               <xsl:value-of 
select="lang_add_standardtext"/>
+                                               <xsl:text>'; return 
true;</xsl:text>
+                                       </xsl:attribute>
+                               </input>
+                       </form>
+               </td>
+               <td height="50">
                        <xsl:variable name="done_action">
                                <xsl:value-of select="done_action"/>
                        </xsl:variable>
                        <xsl:variable name="lang_done">
                                <xsl:value-of select="lang_done"/>
                        </xsl:variable>
-                                       <form method="post" 
action="{$done_action}">
-                                               <input type="submit" name="add" 
value="{$lang_done}" onMouseout="window.status='';return true;">
-                                                       <xsl:attribute 
name="onMouseover">
-                                                               
<xsl:text>window.status='</xsl:text>
-                                                                       
<xsl:value-of select="lang_add_standardtext"/>
-                                                               <xsl:text>'; 
return true;</xsl:text>
-                                                       </xsl:attribute>
-                                               </input>
-                                       </form>
-                               </td>
-                       </tr>
+                       <form method="post" action="{$done_action}">
+                               <input type="submit" name="add" 
value="{$lang_done}" onMouseout="window.status='';return true;">
+                                       <xsl:attribute name="onMouseover">
+                                               
<xsl:text>window.status='</xsl:text>
+                                               <xsl:value-of 
select="lang_add_standardtext"/>
+                                               <xsl:text>'; return 
true;</xsl:text>
+                                       </xsl:attribute>
+                               </input>
+                       </form>
+               </td>
+       </tr>
 </xsl:template>
 
 
@@ -61,38 +61,38 @@
 
 <xsl:template match="list_attribute">
                
-               <table width="100%" cellpadding="2" cellspacing="2" 
align="center">
-                       <tr>
-                               <td class="th_text" align="left">
-                                       <xsl:value-of select="lang_appname"/>
-                                       <xsl:text>: </xsl:text>
-                                       <xsl:value-of select="appname"/>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td align="left">
-                                       <xsl:call-template 
name="filter_location"/>
-                               </td>
+       <table width="100%" cellpadding="2" cellspacing="2" align="center">
+               <tr>
+                       <td class="th_text" align="left">
+                               <xsl:value-of select="lang_appname"/>
+                               <xsl:text>: </xsl:text>
+                               <xsl:value-of select="appname"/>
+                       </td>
+               </tr>
+               <tr>
+                       <td align="left">
+                               <xsl:call-template name="filter_location"/>
+                       </td>
 
-                               <td align="right">
-                                       <xsl:call-template name="search_field"/>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td colspan="3" width="100%">
-                                       <xsl:call-template name="nextmatchs"/>
-                               </td>
-                       </tr>
-               </table>
-               <table class="pure-table pure-table-bordered">
-                               <xsl:apply-templates 
select="table_header_attrib"/>
-                               <xsl:choose>
-                                       <xsl:when test="values_attrib != ''">
-                                       <xsl:apply-templates 
select="values_attrib"/>
-                                       </xsl:when>
-                               </xsl:choose>
-                               <xsl:apply-templates select="table_add"/>
-               </table>
+                       <td align="right">
+                               <xsl:call-template name="search_field"/>
+                       </td>
+               </tr>
+               <tr>
+                       <td colspan="3" width="100%">
+                               <xsl:call-template name="nextmatchs"/>
+                       </td>
+               </tr>
+       </table>
+       <table class="pure-table pure-table-bordered">
+               <xsl:apply-templates select="table_header_attrib"/>
+               <xsl:choose>
+                       <xsl:when test="values_attrib != ''">
+                               <xsl:apply-templates select="values_attrib"/>
+                       </xsl:when>
+               </xsl:choose>
+               <xsl:apply-templates select="table_add"/>
+       </table>
 </xsl:template>
 
 <xsl:template match="table_header_attrib">
@@ -102,36 +102,36 @@
        <xsl:variable name="sort_name">
                <xsl:value-of select="sort_name"/>
        </xsl:variable>
-               <tr class="th">
-                       <th class="th_text" width="10%" align="left">
+       <tr class="th">
+               <th class="th_text" width="10%" align="left">
                        <a href="{$sort_name}">
                                <xsl:value-of select="lang_name"/>
                        </a>
-                       </th>
-                       <th class="th_text" width="20%" align="left">
-                               <xsl:value-of select="lang_descr"/>
-                       </th>
-                       <th class="th_text" width="1%" align="left">
-                               <xsl:value-of select="lang_datatype"/>
-                       </th>
+               </th>
+               <th class="th_text" width="20%" align="left">
+                       <xsl:value-of select="lang_descr"/>
+               </th>
+               <th class="th_text" width="1%" align="left">
+                       <xsl:value-of select="lang_datatype"/>
+               </th>
                <th class="th_text" width="1%" align="center">
                        <xsl:value-of select="lang_group"/>
                </th>
-                       <th class="th_text" width="5%" align="center">
+               <th class="th_text" width="5%" align="center">
                        <a href="{$sort_sorting}">
                                <xsl:value-of select="lang_sorting"/>
                        </a>
-                       </th>
-                       <th class="th_text" width="1%" align="center">
-                               <xsl:value-of select="lang_search"/>
-                       </th>
-                       <th class="th_text" width="5%" align="center">
-                               <xsl:value-of select="lang_edit"/>
-                       </th>
-                       <th class="th_text" width="5%" align="center">
-                               <xsl:value-of select="lang_delete"/>
-                       </th>
-               </tr>
+               </th>
+               <th class="th_text" width="1%" align="center">
+                       <xsl:value-of select="lang_search"/>
+               </th>
+               <th class="th_text" width="5%" align="center">
+                       <xsl:value-of select="lang_edit"/>
+               </th>
+               <th class="th_text" width="5%" align="center">
+                       <xsl:value-of select="lang_delete"/>
+               </th>
+       </tr>
 </xsl:template>
 
 <xsl:template match="values_attrib"> 
@@ -147,268 +147,268 @@
        <xsl:variable name="lang_delete_text">
                <xsl:value-of select="lang_delete_text"/>
        </xsl:variable>
-                       <tr>
-                               <xsl:attribute name="class">
-                                       <xsl:choose>
-                                               <xsl:when test="@class">
-                                                       <xsl:value-of 
select="@class"/>
-                                               </xsl:when>
-                                               <xsl:when test="position() mod 
2 = 0">
-                                                       
<xsl:text>row_off</xsl:text>
-                                               </xsl:when>
-                                               <xsl:otherwise>
-                                                       
<xsl:text>row_on</xsl:text>
-                                               </xsl:otherwise>
-                                       </xsl:choose>
-                               </xsl:attribute>
-                               <td align="left">
-                                       <xsl:value-of select="column_name"/>
-                               </td>
-                               <td>
-                                       <xsl:value-of select="input_text"/>
-                               </td>
-                               <td>
-                                       <xsl:value-of select="datatype"/>
-                               </td>
+       <tr>
+               <xsl:attribute name="class">
+                       <xsl:choose>
+                               <xsl:when test="@class">
+                                       <xsl:value-of select="@class"/>
+                               </xsl:when>
+                               <xsl:when test="position() mod 2 = 0">
+                                       <xsl:text>row_off</xsl:text>
+                               </xsl:when>
+                               <xsl:otherwise>
+                                       <xsl:text>row_on</xsl:text>
+                               </xsl:otherwise>
+                       </xsl:choose>
+               </xsl:attribute>
+               <td align="left">
+                       <xsl:value-of select="column_name"/>
+               </td>
+               <td>
+                       <xsl:value-of select="input_text"/>
+               </td>
+               <td>
+                       <xsl:value-of select="datatype"/>
+               </td>
                <td align="right">
                        <xsl:value-of select="group_id"/>
                </td>
-                               <td>
-                                       <table align="left">
-                                               <tr>
-                                                       <td>
-                                                               <xsl:value-of 
select="sorting"/>
-                                                       </td>
+               <td>
+                       <table align="left">
+                               <tr>
+                                       <td>
+                                               <xsl:value-of select="sorting"/>
+                                       </td>
 
-                                                       <td align="left">
+                                       <td align="left">
                                                <xsl:variable name="link_up">
                                                        <xsl:value-of 
select="link_up"/>
                                                </xsl:variable>
                                                <a href="{$link_up}" 
onMouseover="window.status='{$lang_up_text}';return true;" 
onMouseout="window.status='';return true;">
                                                        <xsl:value-of 
select="text_up"/>
                                                </a>
-                                                               <xsl:text> | 
</xsl:text>
+                                               <xsl:text> | </xsl:text>
                                                <xsl:variable name="link_down">
                                                        <xsl:value-of 
select="link_down"/>
                                                </xsl:variable>
                                                <a href="{$link_down}" 
onMouseover="window.status='{$lang_down_text}';return true;" 
onMouseout="window.status='';return true;">
                                                        <xsl:value-of 
select="text_down"/>
                                                </a>
-                                                       </td>
+                                       </td>
 
-                                               </tr>
-                                       </table>
-                               </td>
-                               <td align="center">
-                                       <xsl:value-of select="search"/>
-                               </td>
-                               <td align="center">
+                               </tr>
+                       </table>
+               </td>
+               <td align="center">
+                       <xsl:value-of select="search"/>
+               </td>
+               <td align="center">
                        <xsl:variable name="link_edit">
                                <xsl:value-of select="link_edit"/>
                        </xsl:variable>
                        <a href="{$link_edit}" 
onMouseover="window.status='{$lang_edit_text}';return true;" 
onMouseout="window.status='';return true;">
                                <xsl:value-of select="text_edit"/>
                        </a>
-                               </td>
-                               <td align="center">
+               </td>
+               <td align="center">
                        <xsl:variable name="link_delete">
                                <xsl:value-of select="link_delete"/>
                        </xsl:variable>
                        <a href="{$link_delete}" 
onMouseover="window.status='{$lang_delete_text}';return true;" 
onMouseout="window.status='';return true;">
                                <xsl:value-of select="text_delete"/>
                        </a>
-                               </td>
-                       </tr>
+               </td>
+       </tr>
 </xsl:template>
 
 
 <!-- add attribute / edit attribute -->
 
 <xsl:template match="edit_attrib" xmlns:php="http://php.net/xsl";>
-               <div align="left">
+       <div align="left">
 
-                       <xsl:variable name="form_action">
-                               <xsl:value-of select="form_action"/>
-                       </xsl:variable>
-                       <form method="post" action="{$form_action}">
+               <xsl:variable name="form_action">
+                       <xsl:value-of select="form_action"/>
+               </xsl:variable>
+               <form method="post" action="{$form_action}">
                
-               <table cellpadding="2" cellspacing="2" width="80%" 
align="center">
-                       <xsl:choose>
-                               <xsl:when test="msgbox_data != ''">
-                                       <tr>
-                                               <td align="left" colspan="3">
-                                                       <xsl:call-template 
name="msgbox"/>
-                                               </td>
-                                       </tr>
-                               </xsl:when>
-                       </xsl:choose>
+                       <table cellpadding="2" cellspacing="2" width="80%" 
align="center">
+                               <xsl:choose>
+                                       <xsl:when test="msgbox_data != ''">
+                                               <tr>
+                                                       <td align="left" 
colspan="3">
+                                                               
<xsl:call-template name="msgbox"/>
+                                                       </td>
+                                               </tr>
+                                       </xsl:when>
+                               </xsl:choose>
                        
 
-                       <tr>
-                               <td class="th_text" align="left">
-                                       <xsl:value-of 
select="php:function('lang', 'appname')" />
-                               </td>
-                               <td class="th_text" align="left">
-                                       <xsl:value-of select="appname"/>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td class="th_text" align="left">
-                                       <xsl:value-of select="lang_location"/>
-                                       <xsl:value-of 
select="php:function('lang', 'location')" />
-                               </td>
-                               <td align="left">
-                                       <xsl:choose>
-                                               <xsl:when test="value_location 
!= ''">
-                                                       <xsl:value-of 
select="value_location"/>
-                                                       <input type="hidden" 
name="location" value="{value_location}" />
-                                               </xsl:when>
-                                               <xsl:otherwise>
-                                                       <xsl:call-template 
name="select_location"/>
-                                               </xsl:otherwise>
-                                       </xsl:choose>
-                               </td>
-                       </tr>
-                       <xsl:choose>
-                               <xsl:when test="value_id != ''">
-                                       <tr>
-                                               <td valign="top">
-                                       <xsl:value-of 
select="php:function('lang', 'Attribute ID')" />
-                                               </td>
-                                               <td>
-                                                       <xsl:value-of 
select="value_id"/>
-                                               </td>
-                                       </tr>
-                               </xsl:when>
-                       </xsl:choose>
-                       <tr>
-                               <td valign="top">
-                                       <xsl:value-of 
select="php:function('lang', 'column name')" />
-                               </td>
-                               <td>
-                                       <input type="text" 
name="values[column_name]" value="{value_column_name}" maxlength="20">
-                                               <xsl:attribute name="title">
-                                                   <xsl:value-of 
select="php:function('lang', 'enter the name for the column')" />
-                                               </xsl:attribute>
-                                       </input>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td valign="top">
-                                       <xsl:value-of 
select="php:function('lang', 'input text')" />
-                               </td>
-                               <td>
-                                       <input type="text" 
name="values[input_text]" value="{value_input_text}" maxlength="20">
-                                               <xsl:attribute name="title">
-                                                   <xsl:value-of 
select="php:function('lang', 'enter the input text for records')" />
-                                               </xsl:attribute>
-                                       </input>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td valign="top">
-                                       <xsl:value-of 
select="php:function('lang', 'statustext')" />
-                               </td>
-                               <td>
-                                       <textarea cols="60" rows="10" 
name="values[statustext]" wrap="virtual">
-                                               <xsl:attribute name="title">
-                                                       <xsl:value-of 
select="php:function('lang', 'Enter a statustext for the inputfield in forms')" 
/>
-                                               </xsl:attribute>
-                                               <xsl:value-of 
select="value_statustext"/>               
-                                       </textarea>
+                               <tr>
+                                       <td class="th_text" align="left">
+                                               <xsl:value-of 
select="php:function('lang', 'appname')" />
+                                       </td>
+                                       <td class="th_text" align="left">
+                                               <xsl:value-of select="appname"/>
+                                       </td>
+                               </tr>
+                               <tr>
+                                       <td class="th_text" align="left">
+                                               <xsl:value-of 
select="lang_location"/>
+                                               <xsl:value-of 
select="php:function('lang', 'location')" />
+                                       </td>
+                                       <td align="left">
+                                               <xsl:choose>
+                                                       <xsl:when 
test="value_location != ''">
+                                                               <xsl:value-of 
select="value_location"/>
+                                                               <input 
type="hidden" name="location" value="{value_location}" />
+                                                       </xsl:when>
+                                                       <xsl:otherwise>
+                                                               
<xsl:call-template name="select_location"/>
+                                                       </xsl:otherwise>
+                                               </xsl:choose>
+                                       </td>
+                               </tr>
+                               <xsl:choose>
+                                       <xsl:when test="value_id != ''">
+                                               <tr>
+                                                       <td valign="top">
+                                                               <xsl:value-of 
select="php:function('lang', 'Attribute ID')" />
+                                                       </td>
+                                                       <td>
+                                                               <xsl:value-of 
select="value_id"/>
+                                                       </td>
+                                               </tr>
+                                       </xsl:when>
+                               </xsl:choose>
+                               <tr>
+                                       <td valign="top">
+                                               <xsl:value-of 
select="php:function('lang', 'column name')" />
+                                       </td>
+                                       <td>
+                                               <input type="text" 
name="values[column_name]" value="{value_column_name}" maxlength="20">
+                                                       <xsl:attribute 
name="title">
+                                                               <xsl:value-of 
select="php:function('lang', 'enter the name for the column')" />
+                                                       </xsl:attribute>
+                                               </input>
+                                       </td>
+                               </tr>
+                               <tr>
+                                       <td valign="top">
+                                               <xsl:value-of 
select="php:function('lang', 'input text')" />
+                                       </td>
+                                       <td>
+                                               <input type="text" 
name="values[input_text]" value="{value_input_text}" maxlength="20">
+                                                       <xsl:attribute 
name="title">
+                                                               <xsl:value-of 
select="php:function('lang', 'enter the input text for records')" />
+                                                       </xsl:attribute>
+                                               </input>
+                                       </td>
+                               </tr>
+                               <tr>
+                                       <td valign="top">
+                                               <xsl:value-of 
select="php:function('lang', 'statustext')" />
+                                       </td>
+                                       <td>
+                                               <textarea cols="60" rows="10" 
name="values[statustext]" wrap="virtual">
+                                                       <xsl:attribute 
name="title">
+                                                               <xsl:value-of 
select="php:function('lang', 'Enter a statustext for the inputfield in forms')" 
/>
+                                                       </xsl:attribute>
+                                                       <xsl:value-of 
select="value_statustext"/>
+                                               </textarea>
 
-                               </td>
-                       </tr>
-                       <tr>
-                               <td valign="top">
-                                       <xsl:value-of 
select="php:function('lang', 'group')" />
-                               </td>
-                               <td valign="top">
-                                       <select name="values[group_id]" 
class="forms">
-                                               <xsl:attribute name="title">
-                                                       <xsl:value-of 
select="php:function('lang', 'select a group')" />
-                                               </xsl:attribute>
+                                       </td>
+                               </tr>
+                               <tr>
+                                       <td valign="top">
+                                               <xsl:value-of 
select="php:function('lang', 'group')" />
+                                       </td>
+                                       <td valign="top">
+                                               <select name="values[group_id]" 
class="forms">
+                                                       <xsl:attribute 
name="title">
+                                                               <xsl:value-of 
select="php:function('lang', 'select a group')" />
+                                                       </xsl:attribute>
                                                        <option value="">
-                                                       <xsl:value-of 
select="php:function('lang', 'no group')" />
-                                               </option>
-                                               <xsl:apply-templates 
select="attrib_group_list/options"/>
-                                       </select>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td valign="top">
-                                       <xsl:value-of 
select="php:function('lang', 'datatype')" />
-                               </td>
-                               <td valign="top">
+                                                               <xsl:value-of 
select="php:function('lang', 'no group')" />
+                                                       </option>
+                                                       <xsl:apply-templates 
select="attrib_group_list/options"/>
+                                               </select>
+                                       </td>
+                               </tr>
+                               <tr>
+                                       <td valign="top">
+                                               <xsl:value-of 
select="php:function('lang', 'datatype')" />
+                                       </td>
+                                       <td valign="top">
                                                <xsl:variable 
name="lang_datatype_statustext">
                                                        <xsl:value-of 
select="lang_datatype_statustext"/>
                                                </xsl:variable>
-                                       <select 
name="values[column_info][type]" class="forms">
+                                               <select 
name="values[column_info][type]" class="forms">
                                                        <option value="">
                                                                <xsl:value-of 
select="lang_no_datatype"/>
                                                        </option>
-                                               <xsl:apply-templates 
select="datatype_list"/>
-                                       </select>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td valign="top">
-                                       <xsl:value-of select="lang_precision"/>
-                               </td>
-                               <td>
-                                       <input type="text" 
name="values[column_info][precision]" value="{value_precision}">
-                                               <xsl:attribute name="title">
-                                                       <xsl:value-of 
select="lang_precision_statustext"/>
-                                               </xsl:attribute>
-                                       </input>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td valign="top">
-                                       <xsl:value-of select="lang_scale"/>
-                               </td>
-                               <td>
-                                       <input type="text" 
name="values[column_info][scale]" value="{value_scale}">
-                                               <xsl:attribute name="title">
-                                                       <xsl:value-of 
select="lang_scale_statustext"/>
-                                               </xsl:attribute>
-                                       </input>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td valign="top">
-                                       <xsl:value-of select="lang_default"/>
-                               </td>
-                               <td>
-                                       <input type="text" 
name="values[column_info][default]" value="{value_default}">
-                                               <xsl:attribute name="title">
-                                                       <xsl:value-of 
select="lang_default_statustext"/>
-                                               </xsl:attribute>
-                                       </input>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td valign="top">
-                                       <xsl:value-of select="lang_nullable"/>
-                               </td>
-                               <td valign="top">
+                                                       <xsl:apply-templates 
select="datatype_list"/>
+                                               </select>
+                                       </td>
+                               </tr>
+                               <tr>
+                                       <td valign="top">
+                                               <xsl:value-of 
select="lang_precision"/>
+                                       </td>
+                                       <td>
+                                               <input type="text" 
name="values[column_info][precision]" value="{value_precision}">
+                                                       <xsl:attribute 
name="title">
+                                                               <xsl:value-of 
select="lang_precision_statustext"/>
+                                                       </xsl:attribute>
+                                               </input>
+                                       </td>
+                               </tr>
+                               <tr>
+                                       <td valign="top">
+                                               <xsl:value-of 
select="lang_scale"/>
+                                       </td>
+                                       <td>
+                                               <input type="text" 
name="values[column_info][scale]" value="{value_scale}">
+                                                       <xsl:attribute 
name="title">
+                                                               <xsl:value-of 
select="lang_scale_statustext"/>
+                                                       </xsl:attribute>
+                                               </input>
+                                       </td>
+                               </tr>
+                               <tr>
+                                       <td valign="top">
+                                               <xsl:value-of 
select="lang_default"/>
+                                       </td>
+                                       <td>
+                                               <input type="text" 
name="values[column_info][default]" value="{value_default}">
+                                                       <xsl:attribute 
name="title">
+                                                               <xsl:value-of 
select="lang_default_statustext"/>
+                                                       </xsl:attribute>
+                                               </input>
+                                       </td>
+                               </tr>
+                               <tr>
+                                       <td valign="top">
+                                               <xsl:value-of 
select="lang_nullable"/>
+                                       </td>
+                                       <td valign="top">
                                                <xsl:variable 
name="lang_nullable_statustext">
                                                        <xsl:value-of 
select="lang_nullable_statustext"/>
                                                </xsl:variable>
-                                       <select 
name="values[column_info][nullable]" class="forms">
+                                               <select 
name="values[column_info][nullable]" class="forms">
                                                        <option value="">
                                                                <xsl:value-of 
select="lang_select_nullable"/>
                                                        </option>
-                                               <xsl:apply-templates 
select="nullable_list"/>
-                                       </select>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td>
-                                       <xsl:value-of select="lang_list"/>
-                               </td>
-                               <td>
-                                       <xsl:choose>
+                                                       <xsl:apply-templates 
select="nullable_list"/>
+                                               </select>
+                                       </td>
+                               </tr>
+                               <tr>
+                                       <td>
+                                               <xsl:value-of 
select="lang_list"/>
+                                       </td>
+                                       <td>
+                                               <xsl:choose>
                                                        <xsl:when 
test="value_list = 1">
                                                                <input 
type="checkbox" name="values[list]" value="1" checked="checked" 
onMouseout="window.status='';return true;">
                                                                        
<xsl:attribute name="title">
@@ -423,15 +423,15 @@
                                                                        
</xsl:attribute>
                                                                </input>
                                                        </xsl:otherwise>
-                                       </xsl:choose>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td>
-                                       <xsl:value-of 
select="lang_include_search"/>
-                               </td>
-                               <td>
-                                       <xsl:choose>
+                                               </xsl:choose>
+                                       </td>
+                               </tr>
+                               <tr>
+                                       <td>
+                                               <xsl:value-of 
select="lang_include_search"/>
+                                       </td>
+                                       <td>
+                                               <xsl:choose>
                                                        <xsl:when 
test="value_search = 1">
                                                                <input 
type="checkbox" name="values[search]" value="1" checked="checked">
                                                                        
<xsl:attribute name="title">
@@ -446,15 +446,15 @@
                                                                        
</xsl:attribute>
                                                                </input>
                                                        </xsl:otherwise>
-                                       </xsl:choose>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td>
-                                       <xsl:value-of select="lang_history"/>
-                               </td>
-                               <td>
-                                       <xsl:choose>
+                                               </xsl:choose>
+                                       </td>
+                               </tr>
+                               <tr>
+                                       <td>
+                                               <xsl:value-of 
select="lang_history"/>
+                                       </td>
+                                       <td>
+                                               <xsl:choose>
                                                        <xsl:when 
test="value_history = 1">
                                                                <input 
type="checkbox" name="values[history]" value="1" checked="checked">
                                                                        
<xsl:attribute name="title">
@@ -469,15 +469,15 @@
                                                                        
</xsl:attribute>
                                                                </input>
                                                        </xsl:otherwise>
-                                       </xsl:choose>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td>
-                                       <xsl:value-of select="lang_disabled"/>
-                               </td>
-                               <td>
-                                       <xsl:choose>
+                                               </xsl:choose>
+                                       </td>
+                               </tr>
+                               <tr>
+                                       <td>
+                                               <xsl:value-of 
select="lang_disabled"/>
+                                       </td>
+                                       <td>
+                                               <xsl:choose>
                                                        <xsl:when 
test="value_disabled = 1">
                                                                <input 
type="checkbox" name="values[disabled]" value="1" checked="checked">
                                                                        
<xsl:attribute name="title">
@@ -492,51 +492,109 @@
                                                                        
</xsl:attribute>
                                                                </input>
                                                        </xsl:otherwise>
-                                       </xsl:choose>
-                               </td>
-                       </tr>
+                                               </xsl:choose>
+                                       </td>
+                               </tr>
        
-                       <tr>
-                               <td valign="top">
-                                       <xsl:value-of select="lang_helpmsg"/>
-                               </td>
-                               <td>
-                                       <textarea cols="60" rows="10" 
name="values[helpmsg]" wrap="virtual">
-                                               <xsl:attribute name="title">
-                                                       <xsl:value-of 
select="lang_helpmsg_statustext"/>
-                                               </xsl:attribute>
-                                               <xsl:value-of 
select="value_helpmsg"/>          
-                                       </textarea>
-                               </td>
-                       </tr>
+                               <tr>
+                                       <td valign="top">
+                                               <xsl:value-of 
select="lang_helpmsg"/>
+                                       </td>
+                                       <td>
+                                               <textarea cols="60" rows="10" 
name="values[helpmsg]" wrap="virtual">
+                                                       <xsl:attribute 
name="title">
+                                                               <xsl:value-of 
select="lang_helpmsg_statustext"/>
+                                                       </xsl:attribute>
+                                                       <xsl:value-of 
select="value_helpmsg"/>
+                                               </textarea>
+                                       </td>
+                               </tr>
        
-                       <xsl:choose>
-                               <xsl:when test="multiple_choice != ''">
-                                       <tr>
-                                               <td valign="top">
-                                                       <xsl:value-of 
select="lang_choice"/>
-                                               </td>
-                                               <td align="right">
-                                                       <xsl:call-template 
name="choice"/>
-                                               </td>
-                                       </tr>
-                               </xsl:when>
-                       </xsl:choose>
-                       <tr height="50">
-                               <td>
+                               <xsl:choose>
+                                       <xsl:when test="multiple_choice = 1">
+                                               <tr>
+                                                       <td valign="top">
+                                                               <xsl:value-of 
select="lang_choice"/>
+                                                       </td>
+                                                       <td align="right">
+                                                               
<xsl:call-template name="choice"/>
+                                                       </td>
+                                               </tr>
+                                       </xsl:when>
+                               </xsl:choose>
+                               <xsl:choose>
+                                       <xsl:when test="custom_get_list = 1">
+                                               <tr>
+                                                       <td>
+                                                               <xsl:value-of 
select="php:function('lang', 'custom get list function')"/>
+                                                       </td>
+                                                       <td>
+                                                               <input 
type="text" name="values[get_list_function]" value="{value_get_list_function}" 
size="60">
+                                                                       
<xsl:attribute name="title">
+                                                                               
<xsl:text>&lt;app&gt;.&lt;class&gt;.&lt;function&gt;</xsl:text>
+                                                                       
</xsl:attribute>
+                                                               </input>
+                                                       </td>
+                                               </tr>
+                                               <tr>
+                                                       <td>
+                                                               <xsl:value-of 
select="php:function('lang', 'get list function input')"/>
+                                                       </td>
+                                                       <td>
+                                                               <textarea 
cols="60" rows="10" name="values[get_list_function_input]">
+                                                                       
<xsl:attribute name="title">
+                                                                               
<xsl:text>parameter1 = value1, parameter2 = value2...</xsl:text>
+                                                                       
</xsl:attribute>
+                                                                       
<xsl:value-of select="value_get_list_function_input"/>
+                                                               </textarea>
+                                                       </td>
+                                               </tr>
+                                       </xsl:when>
+                               </xsl:choose>
+                               <xsl:choose>
+                                       <xsl:when test="custom_get_single = 1">
+                                               <tr>
+                                                       <td>
+                                                               <xsl:value-of 
select="php:function('lang', 'custom get single function')"/>
+                                                       </td>
+                                                       <td>
+                                                               <input 
type="text" name="values[get_single_function]" 
value="{value_get_single_function}" size="60">
+                                                                       
<xsl:attribute name="title">
+                                                                               
<xsl:text>&lt;app&gt;.&lt;class&gt;.&lt;function&gt;</xsl:text>
+                                                                       
</xsl:attribute>
+                                                               </input>
+                                                       </td>
+                                               </tr>
+                                               <tr>
+                                                       <td>
+                                                               <xsl:value-of 
select="php:function('lang', 'get single function input')"/>
+                                                       </td>
+                                                       <td>
+                                                       <textarea cols="60" 
rows="10" name="values[get_single_function_input]">
+                                                               <xsl:attribute 
name="title">
+                                                                       
<xsl:text>parameter1 = value1, parameter2 = value2...</xsl:text>
+                                                               </xsl:attribute>
+                                                               <xsl:value-of 
select="value_get_single_function_input"/>
+                                                       </textarea>
+                                                       </td>
+                                               </tr>
+                                       </xsl:when>
+                               </xsl:choose>
+                               <tr height="50">
+                                       <td>
                                                <xsl:variable name="lang_save">
                                                        <xsl:value-of 
select="lang_save"/>
                                                </xsl:variable>
-                                       <input type="submit" 
name="values[save]" value="{$lang_save}">
-                                               <xsl:attribute name="title">
-                                                       <xsl:value-of 
select="lang_save_attribtext"/>
-                                               </xsl:attribute>
-                                       </input>
-                               </td>
-                       </tr>
-               </table>
-                       </form>
-                       <table>
+                                               <input type="submit" 
name="values[save]" value="{$lang_save}">
+                                                       <xsl:attribute 
name="title">
+                                                               <xsl:value-of 
select="lang_save_attribtext"/>
+                                                       </xsl:attribute>
+                                               </input>
+                                       </td>
+                               </tr>
+                       </table>
+               </form>
+               <table>
                        <tr>
                                <td>
                                        <xsl:variable name="done_action">
@@ -555,7 +613,7 @@
                                </td>
                        </tr>
                </table>
-               </div>
+       </div>
 </xsl:template>
 
 <!-- add attribute group / edit attribute group -->
@@ -705,38 +763,38 @@
 
 <xsl:template match="list_custom_function">
                
-               <table width="100%" cellpadding="2" cellspacing="2" 
align="center">
-                       <tr>
-                               <td class="th_text" align="left">
-                                       <xsl:value-of select="lang_appname"/>
-                                       <xsl:text>: </xsl:text>
-                                       <xsl:value-of select="appname"/>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td align="left">
-                                       <xsl:call-template 
name="filter_location"/>
-                               </td>
+       <table width="100%" cellpadding="2" cellspacing="2" align="center">
+               <tr>
+                       <td class="th_text" align="left">
+                               <xsl:value-of select="lang_appname"/>
+                               <xsl:text>: </xsl:text>
+                               <xsl:value-of select="appname"/>
+                       </td>
+               </tr>
+               <tr>
+                       <td align="left">
+                               <xsl:call-template name="filter_location"/>
+                       </td>
 
-                               <td align="right">
-                                       <xsl:call-template name="search_field"/>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td colspan="3" width="100%">
-                                       <xsl:call-template name="nextmatchs"/>
-                               </td>
-                       </tr>
-               </table>
-               <table width="100%" cellpadding="2" cellspacing="2" 
align="center"  class="pure-table pure-table-bordered">
-                       <xsl:apply-templates 
select="table_header_custom_function"/>
-                       <xsl:choose>
-                               <xsl:when test="values_custom_function != ''">
-                                       <xsl:apply-templates 
select="values_custom_function"/>
-                               </xsl:when>
-                       </xsl:choose>
-                       <xsl:apply-templates select="table_add"/>
-               </table>
+                       <td align="right">
+                               <xsl:call-template name="search_field"/>
+                       </td>
+               </tr>
+               <tr>
+                       <td colspan="3" width="100%">
+                               <xsl:call-template name="nextmatchs"/>
+                       </td>
+               </tr>
+       </table>
+       <table width="100%" cellpadding="2" cellspacing="2" align="center"  
class="pure-table pure-table-bordered">
+               <xsl:apply-templates select="table_header_custom_function"/>
+               <xsl:choose>
+                       <xsl:when test="values_custom_function != ''">
+                               <xsl:apply-templates 
select="values_custom_function"/>
+                       </xsl:when>
+               </xsl:choose>
+               <xsl:apply-templates select="table_add"/>
+       </table>
 </xsl:template>
 <xsl:template match="table_header_custom_function">
        <xsl:variable name="sort_sorting">
@@ -745,36 +803,36 @@
        <xsl:variable name="sort_name">
                <xsl:value-of select="sort_name"/>
        </xsl:variable>
-               <tr class="th">
-                       <td class="th_text" width="10%" align="left">
+       <tr class="th">
+               <td class="th_text" width="10%" align="left">
                        <a href="{$sort_name}">
                                <xsl:value-of select="lang_name"/>
                        </a>
-                       </td>
-                       <td class="th_text" width="20%" align="left">
-                               <xsl:value-of select="lang_descr"/>
-                       </td>
-                       <td class="th_text" width="5%" align="center">
-                               <xsl:value-of select="lang_pre_commit"/>
-                       </td>
-                       <td class="th_text" width="5%" align="center">
-                               <xsl:value-of select="lang_client_side"/>
-                       </td>
-                       <td class="th_text" width="5%" align="center">
-                               <xsl:value-of select="lang_active"/>
-                       </td>
-                       <td class="th_text" width="10%" align="center">
+               </td>
+               <td class="th_text" width="20%" align="left">
+                       <xsl:value-of select="lang_descr"/>
+               </td>
+               <td class="th_text" width="5%" align="center">
+                       <xsl:value-of select="lang_pre_commit"/>
+               </td>
+               <td class="th_text" width="5%" align="center">
+                       <xsl:value-of select="lang_client_side"/>
+               </td>
+               <td class="th_text" width="5%" align="center">
+                       <xsl:value-of select="lang_active"/>
+               </td>
+               <td class="th_text" width="10%" align="center">
                        <a href="{$sort_sorting}">
                                <xsl:value-of select="lang_sorting"/>
                        </a>
-                       </td>
-                       <td class="th_text" width="5%" align="center">
-                               <xsl:value-of select="lang_edit"/>
-                       </td>
-                       <td class="th_text" width="5%" align="center">
-                               <xsl:value-of select="lang_delete"/>
-                       </td>
-               </tr>
+               </td>
+               <td class="th_text" width="5%" align="center">
+                       <xsl:value-of select="lang_edit"/>
+               </td>
+               <td class="th_text" width="5%" align="center">
+                       <xsl:value-of select="lang_delete"/>
+               </td>
+       </tr>
 </xsl:template>
 
 <xsl:template match="values_custom_function"> 
@@ -790,166 +848,166 @@
        <xsl:variable name="lang_delete_text">
                <xsl:value-of select="lang_delete_text"/>
        </xsl:variable>
-                       <tr>
-                               <xsl:attribute name="class">
-                                       <xsl:choose>
-                                               <xsl:when test="@class">
-                                                       <xsl:value-of 
select="@class"/>
-                                               </xsl:when>
-                                               <xsl:when test="position() mod 
2 = 0">
-                                                       
<xsl:text>row_off</xsl:text>
-                                               </xsl:when>
-                                               <xsl:otherwise>
-                                                       
<xsl:text>row_on</xsl:text>
-                                               </xsl:otherwise>
-                                       </xsl:choose>
-                               </xsl:attribute>
-                               <td align="left">
-                                       <xsl:value-of select="file_name"/>
-                               </td>
-                               <td>
-                                       <xsl:value-of select="descr"/>
-                               </td>
-                               <td align = 'center'>
-                                       <xsl:value-of select="pre_commit"/>
-                               </td>
-                               <td align = 'center'>
-                                       <xsl:value-of select="client_side"/>
-                               </td>
-                               <td align = 'center'>
-                                       <xsl:value-of select="active"/>
-                               </td>
-                               <td>
-                                       <table align="left">
-                                               <tr>
-                                                       <td>
-                                                               <xsl:value-of 
select="sorting"/>
-                                                       </td>
+       <tr>
+               <xsl:attribute name="class">
+                       <xsl:choose>
+                               <xsl:when test="@class">
+                                       <xsl:value-of select="@class"/>
+                               </xsl:when>
+                               <xsl:when test="position() mod 2 = 0">
+                                       <xsl:text>row_off</xsl:text>
+                               </xsl:when>
+                               <xsl:otherwise>
+                                       <xsl:text>row_on</xsl:text>
+                               </xsl:otherwise>
+                       </xsl:choose>
+               </xsl:attribute>
+               <td align="left">
+                       <xsl:value-of select="file_name"/>
+               </td>
+               <td>
+                       <xsl:value-of select="descr"/>
+               </td>
+               <td align = 'center'>
+                       <xsl:value-of select="pre_commit"/>
+               </td>
+               <td align = 'center'>
+                       <xsl:value-of select="client_side"/>
+               </td>
+               <td align = 'center'>
+                       <xsl:value-of select="active"/>
+               </td>
+               <td>
+                       <table align="left">
+                               <tr>
+                                       <td>
+                                               <xsl:value-of select="sorting"/>
+                                       </td>
 
-                                                       <td align="left">
+                                       <td align="left">
                                                <xsl:variable name="link_up">
                                                        <xsl:value-of 
select="link_up"/>
                                                </xsl:variable>
                                                <a href="{$link_up}" 
onMouseover="window.status='{$lang_up_text}';return true;" 
onMouseout="window.status='';return true;">
                                                        <xsl:value-of 
select="text_up"/>
                                                </a>
-                                                               <xsl:text> | 
</xsl:text>
+                                               <xsl:text> | </xsl:text>
                                                <xsl:variable name="link_down">
                                                        <xsl:value-of 
select="link_down"/>
                                                </xsl:variable>
                                                <a href="{$link_down}" 
onMouseover="window.status='{$lang_down_text}';return true;" 
onMouseout="window.status='';return true;">
                                                        <xsl:value-of 
select="text_down"/>
                                                </a>
-                                                       </td>
+                                       </td>
 
-                                               </tr>
-                                       </table>
-                               </td>
-                               <td align="center">
+                               </tr>
+                       </table>
+               </td>
+               <td align="center">
                        <xsl:variable name="link_edit">
                                <xsl:value-of select="link_edit"/>
                        </xsl:variable>
                        <a href="{$link_edit}" 
onMouseover="window.status='{$lang_edit_text}';return true;" 
onMouseout="window.status='';return true;">
                                <xsl:value-of select="text_edit"/>
                        </a>
-                               </td>
-                               <td align="center">
+               </td>
+               <td align="center">
                        <xsl:variable name="link_delete">
                                <xsl:value-of select="link_delete"/>
                        </xsl:variable>
                        <a href="{$link_delete}" 
onMouseover="window.status='{$lang_delete_text}';return true;" 
onMouseout="window.status='';return true;">
                                <xsl:value-of select="text_delete"/>
                        </a>
-                               </td>
-                       </tr>
+               </td>
+       </tr>
 </xsl:template>
 
 
 <!-- add custom_function / edit custom_function -->
 
 <xsl:template match="edit_custom_function" xmlns:php="http://php.net/xsl";>
-               <div align="left">
+       <div align="left">
 
                <form method="post" action="{form_action}">
-               <table cellpadding="2" cellspacing="2" width="80%" 
align="center">
-                       <xsl:choose>
-                               <xsl:when test="msgbox_data != ''">
-                                       <tr>
-                                               <td align="left" colspan="3">
-                                                       <xsl:call-template 
name="msgbox"/>
-                                               </td>
-                                       </tr>
-                               </xsl:when>
-                       </xsl:choose>
+                       <table cellpadding="2" cellspacing="2" width="80%" 
align="center">
+                               <xsl:choose>
+                                       <xsl:when test="msgbox_data != ''">
+                                               <tr>
+                                                       <td align="left" 
colspan="3">
+                                                               
<xsl:call-template name="msgbox"/>
+                                                       </td>
+                                               </tr>
+                                       </xsl:when>
+                               </xsl:choose>
 
-                       <tr>
-                               <td class="th_text" align="left">
-                                       <xsl:value-of select="lang_appname"/>
-                               </td>
-                               <td class="th_text" align="left">
-                                       <xsl:value-of select="appname"/>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td class="th_text" align="left">
-                                       <xsl:value-of select="lang_location"/>
-                               </td>
-                               <td class="th_text" align="left">
-                                       <xsl:value-of select="location"/>
-                               </td>
-                       </tr>
-                       <xsl:choose>
-                               <xsl:when test="value_id != ''">
-                                       <tr>
-                                               <td valign="top">
-                                                       <xsl:value-of 
select="lang_id"/>
-                                               </td>
-                                               <td>
-                                                       <xsl:value-of 
select="value_id"/>
-                                               </td>
-                                       </tr>
-                               </xsl:when>
-                       </xsl:choose>
-                       <tr>
-                               <td valign="top">
-                                       <xsl:value-of select="lang_descr"/>
-                               </td>
-                               <td>
-                                       <textarea cols="60" rows="10" 
name="values[descr]" wrap="virtual" onMouseout="window.status='';return true;">
-                                               <xsl:attribute 
name="onMouseover">
-                                                       
<xsl:text>window.status='</xsl:text>
+                               <tr>
+                                       <td class="th_text" align="left">
+                                               <xsl:value-of 
select="lang_appname"/>
+                                       </td>
+                                       <td class="th_text" align="left">
+                                               <xsl:value-of select="appname"/>
+                                       </td>
+                               </tr>
+                               <tr>
+                                       <td class="th_text" align="left">
+                                               <xsl:value-of 
select="lang_location"/>
+                                       </td>
+                                       <td class="th_text" align="left">
+                                               <xsl:value-of 
select="location"/>
+                                       </td>
+                               </tr>
+                               <xsl:choose>
+                                       <xsl:when test="value_id != ''">
+                                               <tr>
+                                                       <td valign="top">
+                                                               <xsl:value-of 
select="lang_id"/>
+                                                       </td>
+                                                       <td>
+                                                               <xsl:value-of 
select="value_id"/>
+                                                       </td>
+                                               </tr>
+                                       </xsl:when>
+                               </xsl:choose>
+                               <tr>
+                                       <td valign="top">
+                                               <xsl:value-of 
select="lang_descr"/>
+                                       </td>
+                                       <td>
+                                               <textarea cols="60" rows="10" 
name="values[descr]" wrap="virtual" onMouseout="window.status='';return true;">
+                                                       <xsl:attribute 
name="onMouseover">
+                                                               
<xsl:text>window.status='</xsl:text>
                                                                <xsl:value-of 
select="lang_descr_custom_functiontext"/>
-                                                       <xsl:text>'; return 
true;</xsl:text>
-                                               </xsl:attribute>
-                                               <xsl:value-of 
select="value_descr"/>            
-                                       </textarea>
+                                                               <xsl:text>'; 
return true;</xsl:text>
+                                                       </xsl:attribute>
+                                                       <xsl:value-of 
select="value_descr"/>
+                                               </textarea>
 
-                               </td>
-                       </tr>
-                       <tr>
-                               <td valign="top">
-                                       <xsl:value-of 
select="lang_custom_function"/>
-                               </td>
-                               <td valign="top">
-                                       <select 
name="values[custom_function_file]" class="forms">
+                                       </td>
+                               </tr>
+                               <tr>
+                                       <td valign="top">
+                                               <xsl:value-of 
select="lang_custom_function"/>
+                                       </td>
+                                       <td valign="top">
+                                               <select 
name="values[custom_function_file]" class="forms">
                                                        <option value="">
                                                                <xsl:value-of 
select="lang_no_custom_function"/>
                                                        </option>
-                                               <xsl:apply-templates 
select="custom_function_list"/>
-                                       </select>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td>
-                                       <xsl:value-of select="lang_active"/>
-                               </td>
-                               <td>
-                                       <xsl:choose>
+                                                       <xsl:apply-templates 
select="custom_function_list"/>
+                                               </select>
+                                       </td>
+                               </tr>
+                               <tr>
+                                       <td>
+                                               <xsl:value-of 
select="lang_active"/>
+                                       </td>
+                                       <td>
+                                               <xsl:choose>
                                                        <xsl:when 
test="value_active = 1">
                                                                <input 
type="checkbox" name="values[active]" value="1" checked="checked" 
onMouseout="window.status='';return true;">
                                                                        
<xsl:attribute name="onMouseover">
                                                                                
<xsl:text>window.status='</xsl:text>
-                                                                               
        <xsl:value-of select="lang_active_statustext"/>
+                                                                               
<xsl:value-of select="lang_active_statustext"/>
                                                                                
<xsl:text>'; return true;</xsl:text>
                                                                        
</xsl:attribute>
                                                                </input>
@@ -958,64 +1016,64 @@
                                                                <input 
type="checkbox" name="values[active]" value="1" 
onMouseout="window.status='';return true;">
                                                                        
<xsl:attribute name="onMouseover">
                                                                                
<xsl:text>window.status='</xsl:text>
-                                                                               
        <xsl:value-of select="lang_active_statustext"/>
+                                                                               
<xsl:value-of select="lang_active_statustext"/>
                                                                                
<xsl:text>'; return true;</xsl:text>
                                                                        
</xsl:attribute>
                                                                </input>
                                                        </xsl:otherwise>
-                                       </xsl:choose>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td>
-                                       <xsl:value-of 
select="php:function('lang', 'pre commit')"/>
-                               </td>
-                               <td>
-                                       <input type="checkbox" 
name="values[pre_commit]" value="1">
-                                               <xsl:attribute name="title">
-                                                       <xsl:text>otherwise: 
post commit</xsl:text>
-                                               </xsl:attribute>
-                                               <xsl:if test="value_pre_commit 
= '1'">
-                                                       <xsl:attribute 
name="checked">
-                                                               
<xsl:text>checked</xsl:text>
-                                               </xsl:attribute>
-                                               </xsl:if>
-                                       </input>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td>
-                                       <xsl:value-of 
select="php:function('lang', 'client-side')"/>
-                               </td>
-                               <td>
-                                       <input type="checkbox" 
name="values[client_side]" value="1">
-                                               <xsl:attribute name="title">
-                                                       <xsl:text>otherwise: 
server-side</xsl:text>
-                                               </xsl:attribute>
-                                               <xsl:if test="value_client_side 
= '1'">
-                                                       <xsl:attribute 
name="checked">
-                                                               
<xsl:text>checked</xsl:text>
-                                               </xsl:attribute>
-                                               </xsl:if>
-                                       </input>
-                               </td>
-                       </tr>
-                       <tr height="50">
-                               <td>
+                                               </xsl:choose>
+                                       </td>
+                               </tr>
+                               <tr>
+                                       <td>
+                                               <xsl:value-of 
select="php:function('lang', 'pre commit')"/>
+                                       </td>
+                                       <td>
+                                               <input type="checkbox" 
name="values[pre_commit]" value="1">
+                                                       <xsl:attribute 
name="title">
+                                                               
<xsl:text>otherwise: post commit</xsl:text>
+                                                       </xsl:attribute>
+                                                       <xsl:if 
test="value_pre_commit = '1'">
+                                                               <xsl:attribute 
name="checked">
+                                                                       
<xsl:text>checked</xsl:text>
+                                                               </xsl:attribute>
+                                                       </xsl:if>
+                                               </input>
+                                       </td>
+                               </tr>
+                               <tr>
+                                       <td>
+                                               <xsl:value-of 
select="php:function('lang', 'client-side')"/>
+                                       </td>
+                                       <td>
+                                               <input type="checkbox" 
name="values[client_side]" value="1">
+                                                       <xsl:attribute 
name="title">
+                                                               
<xsl:text>otherwise: server-side</xsl:text>
+                                                       </xsl:attribute>
+                                                       <xsl:if 
test="value_client_side = '1'">
+                                                               <xsl:attribute 
name="checked">
+                                                                       
<xsl:text>checked</xsl:text>
+                                                               </xsl:attribute>
+                                                       </xsl:if>
+                                               </input>
+                                       </td>
+                               </tr>
+                               <tr height="50">
+                                       <td>
                                                <xsl:variable name="lang_save">
                                                        <xsl:value-of 
select="lang_save"/>
                                                </xsl:variable>
-                                       <input type="submit" 
name="values[save]" value="{$lang_save}" onMouseout="window.status='';return 
true;">
-                                               <xsl:attribute 
name="onMouseover">
-                                                       
<xsl:text>window.status='</xsl:text>
+                                               <input type="submit" 
name="values[save]" value="{$lang_save}" onMouseout="window.status='';return 
true;">
+                                                       <xsl:attribute 
name="onMouseover">
+                                                               
<xsl:text>window.status='</xsl:text>
                                                                <xsl:value-of 
select="lang_save_custom_functiontext"/>
-                                                       <xsl:text>'; return 
true;</xsl:text>
-                                               </xsl:attribute>
-                                       </input>
-                               </td>
-                       </tr>
-               </table>
-       </form>
+                                                               <xsl:text>'; 
return true;</xsl:text>
+                                                       </xsl:attribute>
+                                               </input>
+                                       </td>
+                               </tr>
+                       </table>
+               </form>
                <table cellpadding="2" cellspacing="2" width="80%" 
align="center">
                        <tr>
                                <td>
@@ -1029,7 +1087,7 @@
                                                <input type="submit" 
name="done" value="{$lang_done}" onMouseout="window.status='';return true;">
                                                        <xsl:attribute 
name="onMouseover">
                                                                
<xsl:text>window.status='</xsl:text>
-                                                                       
<xsl:value-of select="lang_done_custom_functiontext"/>
+                                                               <xsl:value-of 
select="lang_done_custom_functiontext"/>
                                                                <xsl:text>'; 
return true;</xsl:text>
                                                        </xsl:attribute>
                                                </input>
@@ -1037,7 +1095,7 @@
                                </td>
                        </tr>
                </table>
-               </div>
+       </div>
 </xsl:template>
 
 
@@ -1048,18 +1106,18 @@
        <xsl:variable name="id">
                <xsl:value-of select="id"/>
        </xsl:variable>
-               <xsl:choose>
-                       <xsl:when test="selected">
+       <xsl:choose>
+               <xsl:when test="selected">
                        <option value="{$id}" selected="selected">
                                <xsl:value-of disable-output-escaping="yes" 
select="name"/>
                        </option>
-                       </xsl:when>
-                       <xsl:otherwise>
+               </xsl:when>
+               <xsl:otherwise>
                        <option value="{$id}">
                                <xsl:value-of disable-output-escaping="yes" 
select="name"/>
                        </option>
-                       </xsl:otherwise>
-               </xsl:choose>
+               </xsl:otherwise>
+       </xsl:choose>
 </xsl:template>
 
 <!-- datatype_list --> 
@@ -1068,29 +1126,29 @@
        <xsl:variable name="id">
                <xsl:value-of select="id"/>
        </xsl:variable>
-               <xsl:choose>
-                       <xsl:when test="selected">
+       <xsl:choose>
+               <xsl:when test="selected">
                        <option value="{$id}" selected="selected">
                                <xsl:value-of disable-output-escaping="yes" 
select="name"/>
                        </option>
-                       </xsl:when>
-                       <xsl:otherwise>
+               </xsl:when>
+               <xsl:otherwise>
                        <option value="{$id}">
                                <xsl:value-of disable-output-escaping="yes" 
select="name"/>
                        </option>
-                       </xsl:otherwise>
-               </xsl:choose>
+               </xsl:otherwise>
+       </xsl:choose>
 </xsl:template>
 
 <!-- custom_function_list -->  
 
 <xsl:template match="custom_function_list">
-               <option value="{id}">
-                       <xsl:if test="selected = 1">
-                               <xsl:attribute name="selected" value="selected" 
/>
-                       </xsl:if>
-                       <xsl:value-of disable-output-escaping="yes" 
select="name"/>
-               </option>
+       <option value="{id}">
+               <xsl:if test="selected = 1">
+                       <xsl:attribute name="selected" value="selected" />
+               </xsl:if>
+               <xsl:value-of disable-output-escaping="yes" select="name"/>
+       </option>
 </xsl:template>
 
 <!-- nullable_list --> 
@@ -1099,41 +1157,41 @@
        <xsl:variable name="id">
                <xsl:value-of select="id"/>
        </xsl:variable>
-               <xsl:choose>
-                       <xsl:when test="selected">
+       <xsl:choose>
+               <xsl:when test="selected">
                        <option value="{$id}" selected="selected">
                                <xsl:value-of disable-output-escaping="yes" 
select="name"/>
                        </option>
-                       </xsl:when>
-                       <xsl:otherwise>
+               </xsl:when>
+               <xsl:otherwise>
                        <option value="{$id}">
                                <xsl:value-of disable-output-escaping="yes" 
select="name"/>
                        </option>
-                       </xsl:otherwise>
-               </xsl:choose>
+               </xsl:otherwise>
+       </xsl:choose>
 </xsl:template>
 
 <xsl:template name="choice" xmlns:php="http://php.net/xsl";>
-                       <table cellpadding="2" cellspacing="2" width="80%" 
align="left">
-                       <xsl:choose>
-                               <xsl:when test="value_choice!=''">
-                                       <tr class="th">
-                                               <td class="th_text" width="5%" 
align="left">
-                                                       <xsl:value-of 
select="php:function('lang', 'id')" />
-                                               </td>
-                                               <td class="th_text" width="40%" 
align="left">
-                                                       <xsl:value-of 
select="php:function('lang', 'value')" />
-                                               </td>
-                                               <td class="th_text" width="40%" 
align="left">
-                                                       <xsl:value-of 
select="php:function('lang', 'title')" />
-                                               </td>
-                                               <td class="th_text" width="5%" 
align="left">
-                                                       <xsl:value-of 
select="php:function('lang', 'order')" />
-                                               </td>
-                                               <td class="th_text" width="10%" 
align="center">
-                                                       <xsl:value-of 
select="lang_delete_value"/>
-                                               </td>
-                                       </tr>
+       <table cellpadding="2" cellspacing="2" width="80%" align="left">
+               <xsl:choose>
+                       <xsl:when test="value_choice!=''">
+                               <tr class="th">
+                                       <td class="th_text" width="5%" 
align="left">
+                                               <xsl:value-of 
select="php:function('lang', 'id')" />
+                                       </td>
+                                       <td class="th_text" width="40%" 
align="left">
+                                               <xsl:value-of 
select="php:function('lang', 'value')" />
+                                       </td>
+                                       <td class="th_text" width="40%" 
align="left">
+                                               <xsl:value-of 
select="php:function('lang', 'title')" />
+                                       </td>
+                                       <td class="th_text" width="5%" 
align="left">
+                                               <xsl:value-of 
select="php:function('lang', 'order')" />
+                                       </td>
+                                       <td class="th_text" width="10%" 
align="center">
+                                               <xsl:value-of 
select="lang_delete_value"/>
+                                       </td>
+                               </tr>
                                <xsl:for-each select="value_choice" >
                                        <tr>
                                                <xsl:attribute name="class">
@@ -1149,71 +1207,71 @@
                                                                </xsl:otherwise>
                                                        </xsl:choose>
                                                </xsl:attribute>
-                                       <td align="left">
-                                               <xsl:value-of select="id"/>
-                                       </td>
-                                       <td align="left">
-                                               <input type="textbox" 
name="values[edit_choice][{id}]" value="{value}" size='15'>
-                                                       <xsl:attribute 
name="title">
-                                                               <xsl:value-of 
select="php:function('lang', 'value')" />
-                                                       </xsl:attribute>
-                                               </input>
-                                       </td>
-                                       <td align="left">
-                                               <input type="textbox" 
name="values[title_choice][{id}]" value="{title}" size='15'>
-                                                       <xsl:attribute 
name="title">
-                                                               <xsl:value-of 
select="php:function('lang', 'value')" />
-                                                       </xsl:attribute>
-                                               </input>
-                                       </td>
-                                       <td align="center">
-                                               <input type="textbox" 
name="values[order_choice][{id}]" value="{order}" size='4'>
-                                                       <xsl:attribute 
name="title">
-                                                               <xsl:value-of 
select="php:function('lang', 'order')" />
-                                                       </xsl:attribute>
-                                               </input>
-                                       </td>
-                                       <td align="center">
-                                               <input type="checkbox" 
name="values[delete_choice][]" value="{id}">
-                                                       <xsl:attribute 
name="onMouseover">
-                                                               
<xsl:text>window.status='</xsl:text>
+                                               <td align="left">
+                                                       <xsl:value-of 
select="id"/>
+                                               </td>
+                                               <td align="left">
+                                                       <input type="textbox" 
name="values[edit_choice][{id}]" value="{value}" size='15'>
+                                                               <xsl:attribute 
name="title">
+                                                                       
<xsl:value-of select="php:function('lang', 'value')" />
+                                                               </xsl:attribute>
+                                                       </input>
+                                               </td>
+                                               <td align="left">
+                                                       <input type="textbox" 
name="values[title_choice][{id}]" value="{title}" size='15'>
+                                                               <xsl:attribute 
name="title">
+                                                                       
<xsl:value-of select="php:function('lang', 'value')" />
+                                                               </xsl:attribute>
+                                                       </input>
+                                               </td>
+                                               <td align="center">
+                                                       <input type="textbox" 
name="values[order_choice][{id}]" value="{order}" size='4'>
+                                                               <xsl:attribute 
name="title">
+                                                                       
<xsl:value-of select="php:function('lang', 'order')" />
+                                                               </xsl:attribute>
+                                                       </input>
+                                               </td>
+                                               <td align="center">
+                                                       <input type="checkbox" 
name="values[delete_choice][]" value="{id}">
+                                                               <xsl:attribute 
name="onMouseover">
+                                                                       
<xsl:text>window.status='</xsl:text>
                                                                        
<xsl:value-of select="//lang_delete_choice_statustext"/>
-                                                               <xsl:text>'; 
return true;</xsl:text>
-                                                       </xsl:attribute>
-                                               </input>
-                                       </td>
+                                                                       
<xsl:text>'; return true;</xsl:text>
+                                                               </xsl:attribute>
+                                                       </input>
+                                               </td>
                                        </tr>
                                </xsl:for-each>
-                               </xsl:when>
-                       </xsl:choose>
-                       <tr>
-                               <td valign="top" colspan='2'>
-                                       <xsl:value-of select="lang_new_value"/>
-                               </td>
-                               <td valign="top">
-                                       <input type="text" 
name="values[new_choice_id]" size = '3'>
-                                               <xsl:attribute name="title">
-                                                       <xsl:value-of 
select="php:function('lang', 'new id for multiple choice')"/>
-                                               </xsl:attribute>
-                                       </input>
-                               </td>
-                               <td valign="top">
-                                       <input type="text" 
name="values[new_choice]" onMouseout="window.status='';return true;">
-                                               <xsl:attribute 
name="onMouseover">
-                                                       
<xsl:text>window.status='</xsl:text>
-                                                               <xsl:value-of 
select="lang_new_value_statustext"/>
-                                                       <xsl:text>'; return 
true;</xsl:text>
-                                               </xsl:attribute>
-                                       </input>
-                               </td>
-                       </tr>
-                       </table>
+                       </xsl:when>
+               </xsl:choose>
+               <tr>
+                       <td valign="top" colspan='2'>
+                               <xsl:value-of select="lang_new_value"/>
+                       </td>
+                       <td valign="top">
+                               <input type="text" name="values[new_choice_id]" 
size = '3'>
+                                       <xsl:attribute name="title">
+                                               <xsl:value-of 
select="php:function('lang', 'new id for multiple choice')"/>
+                                       </xsl:attribute>
+                               </input>
+                       </td>
+                       <td valign="top">
+                               <input type="text" name="values[new_choice]" 
onMouseout="window.status='';return true;">
+                                       <xsl:attribute name="onMouseover">
+                                               
<xsl:text>window.status='</xsl:text>
+                                               <xsl:value-of 
select="lang_new_value_statustext"/>
+                                               <xsl:text>'; return 
true;</xsl:text>
+                                       </xsl:attribute>
+                               </input>
+                       </td>
+               </tr>
+       </table>
 </xsl:template>
 <xsl:template match="options">
-               <option value="{id}">
-                       <xsl:if test="selected != 0">
-                               <xsl:attribute name="selected" value="selected" 
/>
-                       </xsl:if>
-                       <xsl:value-of disable-output-escaping="yes" 
select="name"/>
-               </option>
+       <option value="{id}">
+               <xsl:if test="selected != 0">
+                       <xsl:attribute name="selected" value="selected" />
+               </xsl:if>
+               <xsl:value-of disable-output-escaping="yes" select="name"/>
+       </option>
 </xsl:template>

Modified: branches/dev-syncromind-2/helpdesk/inc/class.botts.inc.php
===================================================================
--- branches/dev-syncromind-2/helpdesk/inc/class.botts.inc.php  2016-08-04 
13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/helpdesk/inc/class.botts.inc.php  2016-08-04 
13:57:01 UTC (rev 15422)
@@ -437,11 +437,13 @@
                        return $tickets;
                }
 
-               function read_single($id)
+               function read_single($id, $values = array(), $view = false )
                {
                        $this->so->update_view($id);
 
-                       $ticket = $this->so->read_single($id);
+                       $values['attributes'] = $this->get_custom_cols();
+                       $ticket = $this->so->read_single($id, $values);
+                       $ticket = $this->custom->prepare($ticket, 'helpdesk', 
'.ticket', $view);
 
                        $ticket['user_lid'] = 
$GLOBALS['phpgw']->accounts->id2name($ticket['user_id']);
                        $ticket['group_lid'] = 
$GLOBALS['phpgw']->accounts->id2name($ticket['group_id']);
@@ -657,59 +659,67 @@
                        return $record_history;
                }
 
-               function add($ticket)
+               function add( $data, $values_attribute = array() )
                {
-                       if((!isset($ticket['location_code']) || ! 
$ticket['location_code']) && isset($ticket['location']) && 
is_array($ticket['location']))
+
+                       $data['finnish_date'] = 
$this->bocommon->date_to_timestamp($data['finnish_date']);
+
+                       if ($values_attribute && is_array($values_attribute))
                        {
-                               while (is_array($ticket['location']) && 
list(,$value) = each($ticket['location']))
+                               $values_attribute = 
$this->custom->convert_attribute_save($values_attribute);
+                       }
+
+                       $criteria = array
+                               (
+                               'appname' => 'helpdesk',
+                               'location' => $this->acl_location,
+                               'allrows' => true
+                       );
+
+                       $custom_functions = 
$GLOBALS['phpgw']->custom_functions->find($criteria);
+
+                       foreach ($custom_functions as $entry)
+                       {
+                               // prevent path traversal
+                               if (preg_match('/\.\./', $entry['file_name']))
                                {
-                                       if($value)
-                                       {
-                                               $location[] = $value;
-                                       }
+                                       continue;
                                }
-                               $ticket['location_code']=implode("-", 
$location);
+
+                               $file = PHPGW_SERVER_ROOT . 
"/helpdesk/inc/custom/{$GLOBALS['phpgw_info']['user']['domain']}/{$entry['file_name']}";
+                               if ($entry['active'] && is_file($file) && 
!$entry['client_side'] && $entry['pre_commit'])
+                               {
+                                       require $file;
+                               }
                        }
 
-                       $ticket['finnish_date'] = 
$this->bocommon->date_to_timestamp($ticket['finnish_date']);
+                       $receipt = $this->so->add($data, $values_attribute);
 
-                       $receipt = $this->so->add($ticket);
-
                        $this->config->read();
 
-                       if ( (isset($ticket['send_mail']) && 
$ticket['send_mail']) 
-                               || 
(isset($this->config->config_data['mailnotification'])
-                               && 
$this->config->config_data['mailnotification'])
+                       if ((isset($data['send_mail']) && $data['send_mail']) 
|| (isset($this->config->config_data['mailnotification']) && 
$this->config->config_data['mailnotification'])
                        )
                        {
-                               $receipt_mail = 
$this->mail_ticket($receipt['id'],false,$receipt,$ticket['location_code']);
+                               $receipt_mail = 
$this->mail_ticket($receipt['id'], false, $receipt, $data['location_code'], 
false, isset($data['send_mail']) && $data['send_mail'] ? true : false);
                        }
 
-                       $criteria = array
-                               (
-                                       'appname'       => 'helpdesk',
-                                       'location'      => $this->acl_location,
-                                       'allrows'       => true
-                               );
-
-                       $custom_functions = 
$GLOBALS['phpgw']->custom_functions->find($criteria);
-
-                       foreach ( $custom_functions as $entry )
+                       reset($custom_functions);
+                       foreach ($custom_functions as $entry)
                        {
                                // prevent path traversal
-                               if ( preg_match('/\.\./', $entry['file_name']) )
+                               if (preg_match('/\.\./', $entry['file_name']))
                                {
                                        continue;
                                }
 
                                $file = PHPGW_SERVER_ROOT . 
"/helpdesk/inc/custom/{$GLOBALS['phpgw_info']['user']['domain']}/{$entry['file_name']}";
-                               if ( $entry['active'] && is_file($file) )
+                               if ($entry['active'] && is_file($file) && 
!$entry['client_side'] && !$entry['pre_commit'])
                                {
                                        require_once $file;
                                }
                        }
 
-                       if(isset($receipt_mail) && is_array($receipt_mail))
+                       if (isset($receipt_mail) && is_array($receipt_mail))
                        {
                                $receipt = array_merge($receipt, $receipt_mail);
                        }
@@ -997,7 +1007,7 @@
                        return $receipt;
                }
 
-               public function update_ticket( &$data, $id, $receipt = array(), 
$values_attribute = array() )
+               public function update_ticket( &$data, $id, $receipt = array(), 
$values_attribute = array() , $simple = false)
                {
                        if ($values_attribute && is_array($values_attribute))
                        {
@@ -1028,10 +1038,9 @@
                                }
                        }
 
-                       $receipt = $this->so->update_ticket($data, $id, 
$receipt, $values_attribute, $this->simple);
+                       $receipt = $this->so->update_ticket($data, $id, 
$receipt, $values_attribute, $simple);
                        $this->fields_updated = $this->so->fields_updated;
 
-
                        reset($custom_functions);
 
                        foreach ($custom_functions as $entry)

Modified: branches/dev-syncromind-2/helpdesk/inc/class.menu.inc.php
===================================================================
--- branches/dev-syncromind-2/helpdesk/inc/class.menu.inc.php   2016-08-04 
13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/helpdesk/inc/class.menu.inc.php   2016-08-04 
13:57:01 UTC (rev 15422)
@@ -72,6 +72,18 @@
                                                        'text'  => 
lang('Configuration'),
                                                        'url'   => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'admin.uiconfig.index', 'appname' => 'helpdesk') )
                                                ),
+                                               'ticket_attribs' => array
+                                                       (
+                                                       'text' => lang('ticket 
Attributes'),
+                                                       'url' => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'admin.ui_custom.list_attribute',
+                                                               'appname' => 
'helpdesk', 'location' => '.ticket', 'menu_selection' => 
'admin::helpdesk::ticket_attribs'))
+                                               ),
+                                               'ticket_functions' => array
+                                                       (
+                                                       'text' => lang('custom 
functions'),
+                                                       'url' => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'admin.ui_custom.list_custom_function',
+                                                               'appname' => 
'helpdesk', 'location' => '.ticket', 'menu_selection' => 
'admin::helpdesk::ticket_functions'))
+                                               ),
                                                'ticket_cats'   => array
                                                (
                                                        'text'  => lang('Ticket 
Categories'),
@@ -102,7 +114,7 @@
                                                array
                                                (
                                                        'text'  => 
$GLOBALS['phpgw']->translation->translate('Grant Access', array(), true),
-                                                       'url'   => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'helpdesk.uiadmin.aclprefs', 'acl_app'=> 'helpdesk'))
+                                                       'url'   => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'property.uiadmin.aclprefs', 'acl_app'=> 'helpdesk'))
                                                )
                                        );
 

Modified: branches/dev-syncromind-2/helpdesk/inc/class.sotts.inc.php
===================================================================
--- branches/dev-syncromind-2/helpdesk/inc/class.sotts.inc.php  2016-08-04 
13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/helpdesk/inc/class.sotts.inc.php  2016-08-04 
13:57:01 UTC (rev 15422)
@@ -175,15 +175,6 @@
                                $where= 'AND';
                        }
 
-                       
if(isset($GLOBALS['phpgw']->config->config_data['acl_at_location']) && 
$GLOBALS['phpgw']->config->config_data['acl_at_location'])
-                       {
-                               $access_location = 
execMethod('property.socommon.get_location_list', PHPGW_ACL_READ);
-                               if($access_location)
-                               {
-                                       $filtermethod .= " $where 
phpgw_helpdesk_tickets.loc1 in ('" . implode("','", $access_location) . "')";
-                                       $where= 'AND';
-                               }
-                       }
 
                        if (is_array($this->grants))
                        {
@@ -219,12 +210,6 @@
                                }
                        }
 
-                       if($tenant_id = 
$GLOBALS['phpgw']->session->appsession('tenant_id','helpdesk'))
-                       {
-                               $filtermethod .= $where . ' 
phpgw_helpdesk_tickets.tenant_id=' . $tenant_id;
-                               $where = 'AND';
-                       }
-
                        if ($status_id == 'X')
                        {
                                $closed = '';
@@ -347,7 +332,6 @@
                                . " $filtermethod $querymethod";
 
                        $sql2 = "SELECT count(*) as cnt FROM ({$sql}) as t";
-                       _debug_array($sql2);
                        $this->db->query($sql2,__LINE__,__FILE__);
                        $this->db->next_record();
                        $this->total_records = $this->db->f('cnt');
@@ -356,6 +340,10 @@
                        $tickets = array();
                        if(!$dry_run)
                        {
+                               $location_id = 
$GLOBALS['phpgw']->locations->get_id('helpdesk', '.ticket');
+                               $custom_cols = $this->custom->find('helpdesk', 
'.ticket', 0, '', 'ASC', 'attrib_sort', true, true);
+                               $_return_field_array = array();
+
                                if(!$allrows)
                                {
                                        $this->db->limit_query($sql . 
$ordermethod,$start,__LINE__,__FILE__);
@@ -374,29 +362,40 @@
                                        unset($_fetch_single);
                                }
 
+                               $i = 0;
                                while ($this->db->next_record())
                                {
                                        $tickets[]= array
-                                               (
-                                                       'id'                    
        => (int) $this->db->f('id'),
-                                                       'subject'               
        => $this->db->f('subject',true),
-                                                       'user_id'               
        => $this->db->f('user_id'),
-                                                       'assignedto'            
=> $this->db->f('assignedto'),
-                                                       'status'                
        => $this->db->f('status'),
-                                                       'priority'              
        => $this->db->f('priority'),
-                                                       'cat_id'                
        => $this->db->f('cat_id'),
-                                                       'group_id'              
        => $this->db->f('group_id'),
-                                                       'entry_date'            
=> $this->db->f('entry_date'),
-                                                       'modified_date'         
=> $this->db->f('modified_date'),
-                                                       'finnish_date'          
=> $this->db->f('finnish_date'),
-                                                       'finnish_date2'         
=> $this->db->f('finnish_date2'),
-                                                       'order_id'              
        => $this->db->f('order_id'),
-                                                       'vendor_id'             
        => $this->db->f('vendor_id'),
-                                                       'actual_cost'           
=> $this->db->f('actual_cost'),
-                                                       'estimate'              
        => $this->db->f('budget'),
-                                                       'new_ticket'            
=> $this->db->f('view') ? false : true,
-                                                       'billable_hours'        
=> $this->db->f('billable_hours'),
-                                               );
+                                       (
+                                               'id'                            
=> (int) $this->db->f('id'),
+                                               'subject'                       
=> $this->db->f('subject',true),
+                                               'user_id'                       
=> $this->db->f('user_id'),
+                                               'assignedto'            => 
$this->db->f('assignedto'),
+                                               'status'                        
=> $this->db->f('status'),
+                                               'priority'                      
=> $this->db->f('priority'),
+                                               'cat_id'                        
=> $this->db->f('cat_id'),
+                                               'group_id'                      
=> $this->db->f('group_id'),
+                                               'entry_date'            => 
$this->db->f('entry_date'),
+                                               'modified_date'         => 
$this->db->f('modified_date'),
+                                               'finnish_date'          => 
$this->db->f('finnish_date'),
+                                               'finnish_date2'         => 
$this->db->f('finnish_date2'),
+                                               'order_id'                      
=> $this->db->f('order_id'),
+                                               'vendor_id'                     
=> $this->db->f('vendor_id'),
+                                               'actual_cost'           => 
$this->db->f('actual_cost'),
+                                               'estimate'                      
=> $this->db->f('budget'),
+                                               'new_ticket'            => 
$this->db->f('view') ? false : true,
+                                               'billable_hours'        => 
$this->db->f('billable_hours'),
+                                       );
+                                       foreach ($custom_cols as $custom_col)
+                                       {
+                                               if ($custom_value = 
$this->db->f($custom_col['column_name'], true))
+                                               {
+                                                       $custom_value = 
$this->custom->get_translated_value(array('value' => $custom_value,
+                                                               'attrib_id' => 
$custom_col['id'], 'datatype' => $custom_col['datatype']), $location_id);
+                                               }
+                                               
$tickets[$i][$custom_col['column_name']] = $custom_value;
+                                       }
+                                       $i ++;
                                }
                        }
 
@@ -428,7 +427,7 @@
                        return $entity;
                }
 
-               function read_single($id)
+               function read_single($id, $values = array() )
                {
                        $id = (int) $id;
                        $sql = "SELECT * FROM phpgw_helpdesk_tickets WHERE id = 
{$id}";
@@ -477,6 +476,15 @@
                                {
                                        $ticket['assignedto_name']      = 
$GLOBALS['phpgw']->accounts->get($ticket['assignedto'])->__toString();
                                }
+
+                               if (isset($values['attributes']) && 
is_array($values['attributes']))
+                               {
+                                       $ticket['attributes'] = 
$values['attributes'];
+                                       foreach ($ticket['attributes'] as 
&$attr)
+                                       {
+                                               $attr['value'] = 
$this->db->f($attr['column_name']);
+                                       }
+                               }
                        }
 
                        return $ticket;
@@ -821,6 +829,50 @@
                                                }
                                        }
                                }
+                               if ($ticket['assignedto'] && ( ($oldassigned != 
$ticket['assignedto']) && $ticket['assignedto'] != 'ignore'))
+                               {
+                                       $this->fields_updated[] = 'assignedto';
+
+                                       $value_set = array('assignedto' => 
$ticket['assignedto']);
+                                       $value_set = 
$this->db->validate_update($value_set);
+
+                                       $this->db->query("update 
phpgw_helpdesk_tickets set $value_set where id='$id'", __LINE__, __FILE__);
+                                       $this->historylog->add('A', $id, 
$ticket['assignedto'], $oldassigned);
+                               }
+
+                               if (($oldgroup_id != $ticket['group_id']) && 
$ticket['group_id'] != 'ignore')
+                               {
+                                       $this->fields_updated[] = 'group_id';
+
+                                       $value_set = array('group_id' => 
$ticket['group_id']);
+                                       $value_set = 
$this->db->validate_update($value_set);
+
+                                       $this->db->query("update 
phpgw_helpdesk_tickets set $value_set where id='$id'", __LINE__, __FILE__);
+                                       $this->historylog->add('G', $id, 
(int)$ticket['group_id'], $oldgroup_id);
+                               }
+
+                               if ($ticket['priority'] && $oldpriority != 
$ticket['priority'])
+                               {
+                                       $this->fields_updated[] = 'priority';
+                                       $this->db->query("update 
phpgw_helpdesk_tickets set priority='" . $ticket['priority']
+                                               . "' where id='$id'", __LINE__, 
__FILE__);
+                                       $this->historylog->add('P', $id, 
$ticket['priority'], $oldpriority);
+                               }
+
+                               if ($old_contact_id != $ticket['contact_id'])
+                               {
+                                       $contact_id = 
(int)$ticket['contact_id'];
+                                       $this->fields_updated[] = 'contact_id';
+                                       $this->db->query("update 
phpgw_helpdesk_tickets set contact_id={$contact_id} WHERE id=$id", __LINE__, 
__FILE__);
+                               }
+
+                               if ($ticket['cat_id'] && ( ($oldcat_id != 
$ticket['cat_id']) && $ticket['cat_id'] != 'ignore'))
+                               {
+                                       $this->fields_updated[] = 'cat_id';
+                                       $this->db->query("update 
phpgw_helpdesk_tickets set cat_id='" . $ticket['cat_id']
+                                               . "' where id='$id'", __LINE__, 
__FILE__);
+                                       $this->historylog->add('T', $id, 
$ticket['cat_id'], $oldcat_id);
+                               }
                        }
 
                        if (($old_note != $ticket['note']) && $ticket['note'])
@@ -832,9 +884,27 @@
                                unset($_history_id);
                        }
 
+                       $value_set = array();
+
+                       $data_attribute = 
$this->custom->prepare_for_db('phpgw_helpdesk_tickets', $values_attribute);
+
+                       if (isset($data_attribute['value_set']))
+                       {
+                               foreach ($data_attribute['value_set'] as 
$input_name => $value)
+                               {
+                                       $this->fields_updated[] = $input_name;
+                                       $value_set[$input_name] = $value;
+                               }
+                       }
+
+                       $value_set['modified_date'] = time();
+
+                       $value_set = $this->db->validate_update($value_set);
+                       $this->db->query("UPDATE phpgw_helpdesk_tickets SET 
$value_set WHERE id={$id}", __LINE__, __FILE__);
+
                        if (isset($this->fields_updated) && 
$this->fields_updated && $simple)
                        {
-                               $receipt['message'][] = array('msg' => 
lang('Ticket1 has been updated'));
+                               $receipt['message'][] = array('msg' => 
lang('Ticket has been updated'));
                                $this->db->transaction_commit();
                                return $receipt;
                        }
@@ -909,51 +979,7 @@
                                }
                        }
 
-                       if ($ticket['assignedto'] && ( ($oldassigned != 
$ticket['assignedto']) && $ticket['assignedto'] != 'ignore'))
-                       {
-                               $this->fields_updated[] = 'assignedto';
 
-                               $value_set = array('assignedto' => 
$ticket['assignedto']);
-                               $value_set = 
$this->db->validate_update($value_set);
-
-                               $this->db->query("update phpgw_helpdesk_tickets 
set $value_set where id='$id'", __LINE__, __FILE__);
-                               $this->historylog->add('A', $id, 
$ticket['assignedto'], $oldassigned);
-                       }
-
-                       if (($oldgroup_id != $ticket['group_id']) && 
$ticket['group_id'] != 'ignore')
-                       {
-                               $this->fields_updated[] = 'group_id';
-
-                               $value_set = array('group_id' => 
$ticket['group_id']);
-                               $value_set = 
$this->db->validate_update($value_set);
-
-                               $this->db->query("update phpgw_helpdesk_tickets 
set $value_set where id='$id'", __LINE__, __FILE__);
-                               $this->historylog->add('G', $id, 
$ticket['group_id'], $oldgroup_id);
-                       }
-
-                       if ($oldpriority != $ticket['priority'])
-                       {
-                               $this->fields_updated[] = 'priority';
-                               $this->db->query("update phpgw_helpdesk_tickets 
set priority='" . $ticket['priority']
-                                       . "' where id='$id'", __LINE__, 
__FILE__);
-                               $this->historylog->add('P', $id, 
$ticket['priority'], $oldpriority);
-                       }
-
-                       if ($old_contact_id != $ticket['contact_id'])
-                       {
-                               $contact_id = (int)$ticket['contact_id'];
-                               $this->fields_updated[] = 'contact_id';
-                               $this->db->query("update phpgw_helpdesk_tickets 
set contact_id={$contact_id} WHERE id=$id", __LINE__, __FILE__);
-                       }
-
-                       if ($ticket['cat_id'] && ( ($oldcat_id != 
$ticket['cat_id']) && $ticket['cat_id'] != 'ignore'))
-                       {
-                               $this->fields_updated[] = 'cat_id';
-                               $this->db->query("update phpgw_helpdesk_tickets 
set cat_id='" . $ticket['cat_id']
-                                       . "' where id='$id'", __LINE__, 
__FILE__);
-                               $this->historylog->add('T', $id, 
$ticket['cat_id'], $oldcat_id);
-                       }
-
                        /*
                          if ($old_billable_rate != $ticket['billable_rate'])
                          {
@@ -975,127 +1001,15 @@
                        {
                                $ticket['billable_hours'] = 
(float)str_replace(',', '.', $ticket['billable_hours']);
                                $ticket['billable_hours'] += 
(float)$old_billable_hours;
-//                     }
-//                     if ((float)$old_billable_hours != 
$ticket['billable_hours'])
-//                     {
                                $this->db->query("UPDATE phpgw_helpdesk_tickets 
SET billable_hours='{$ticket['billable_hours']}'"
                                        . " WHERE id='{$id}'", __LINE__, 
__FILE__);
                                $this->historylog->add('H', $id, 
$ticket['billable_hours'], $old_billable_hours);
                                $receipt['message'][] = array('msg' => 
lang('billable hours has been updated'));
                        }
 
-                       if (isset($ticket['location']) && $ticket['location'])
-                       {
-                               $ticket['location_code'] = implode('-', 
$ticket['location']);
-                       }
 
-                       if (isset($ticket['location_code']) && 
$ticket['location_code'] && ($oldlocation_code != $ticket['location_code']))
-                       {
-                               $interlink = CreateObject('property.interlink');
-                               if ($interlink->get_relation('helpdesk', 
'.ticket', $id, 'origin') || $interlink->get_relation('helpdesk', '.ticket', 
$id, 'target'))
-                               {
-                                       $receipt['message'][] = array('msg' => 
lang('location could not be changed'));
-                               }
-                               else
-                               {
-                                       $value_set = array();
-
-                                       $_address = array();
-                                       if (isset($ticket['street_name']) && 
$ticket['street_name'])
-                                       {
-                                               $_address[] = 
"{$ticket['street_name']} {$ticket['street_number']}";
-                                       }
-
-                                       if (isset($ticket['location_name']) && 
$ticket['location_name'])
-                                       {
-                                               $_address[] = 
$ticket['location_name'];
-                                       }
-
-                                       if (isset($ticket['additional_info']) 
&& $ticket['additional_info'])
-                                       {
-                                               foreach 
($ticket['additional_info'] as $key => $value)
-                                               {
-                                                       if ($value)
-                                                       {
-                                                               $_address[] = 
"{$key}|{$value}";
-                                                       }
-                                               }
-                                       }
-
-
-                                       if (isset($ticket['extra']['p_num']) && 
$ticket['extra']['p_num'] && $ticket['extra']['p_entity_id'] && 
$ticket['extra']['p_cat_id'])
-                                       {
-                                               $entity = 
CreateObject('property.soadmin_entity');
-                                               $entity_category = 
$entity->read_single_category($ticket['extra']['p_entity_id'], 
$ticket['extra']['p_cat_id']);
-                                       }
-
-                                       if (isset($entity_category) && 
$entity_category)
-                                       {
-                                               $_address[] = 
"{$entity_category['name']}::{$ticket['extra']['p_num']}";
-                                       }
-
-                                       $address = 
$this->db->db_addslashes(implode('::', $_address));
-
-                                       unset($_address);
-
-                                       $value_set['address'] = $address;
-
-                                       if (isset($ticket['location_code']) && 
$ticket['location_code'])
-                                       {
-                                               $value_set['location_code'] = 
$ticket['location_code'];
-                                       }
-
-                                       $admin_location = 
CreateObject('property.soadmin_location');
-                                       $admin_location->read(false);
-
-                                       // Delete old values for location - in 
case of moving up in the hierarchy
-                                       $metadata = 
$this->db->metadata('phpgw_helpdesk_tickets');
-                                       for ($i = 1; $i < 
$admin_location->total_records + 1; $i++)
-                                       {
-                                               if (isset($metadata["loc{$i}"]))
-                                               {
-                                                       $value_set["loc{$i}"] = 
false;
-                                               }
-                                       }
-
-                                       if (isset($ticket['location']) && 
is_array($ticket['location']))
-                                       {
-                                               foreach ($ticket['location'] as 
$column => $value)
-                                               {
-                                                       $value_set[$column] = 
$value;
-                                               }
-                                       }
-
-
-                                       $value_set = 
$this->db->validate_update($value_set);
-
-                                       $this->db->query("UPDATE 
phpgw_helpdesk_tickets SET $value_set WHERE id={$id}", __LINE__, __FILE__);
-
-                                       $this->historylog->add('L', $id, 
$ticket['location_code'], $oldlocation_code);
-                                       $receipt['message'][] = array('msg' => 
lang('Location has been updated'));
-                               }
-                               unset($interlink);
-                       }
-
                        $value_set = array();
 
-                       $data_attribute = 
$this->custom->prepare_for_db('phpgw_helpdesk_tickets', $values_attribute);
-
-                       if (isset($data_attribute['value_set']))
-                       {
-                               foreach ($data_attribute['value_set'] as 
$input_name => $value)
-                               {
-                                       $value_set[$input_name] = $value;
-                               }
-                       }
-
-                       $value_set['modified_date'] = time();
-
-                       $value_set = $this->db->validate_update($value_set);
-                       $this->db->query("UPDATE phpgw_helpdesk_tickets SET 
$value_set WHERE id={$id}", __LINE__, __FILE__);
-
-                       $value_set = array();
-
                        if (isset($ticket['extra']) && 
is_array($ticket['extra']) && $ticket['extra'])
                        {
                                foreach ($ticket['extra'] as $column => $value)
@@ -1138,7 +1052,7 @@
                                                'deadline'                      
=> ''
                                        );
 
-                               
execMethod('helpdesk.sopending_action.close_pending_action', $action_params);
+                               
execMethod('property.sopending_action.close_pending_action', $action_params);
                                unset($action_params);
                        }
                        if ($this->db->f('in_progress') )
@@ -1155,7 +1069,7 @@
                                                'deadline'                      
=> ''
                                        );
 
-                               
execMethod('helpdesk.sopending_action.close_pending_action', $action_params);
+                               
execMethod('property.sopending_action.close_pending_action', $action_params);
                                unset($action_params);
                        }
 

Modified: branches/dev-syncromind-2/helpdesk/inc/class.uitts.inc.php
===================================================================
--- branches/dev-syncromind-2/helpdesk/inc/class.uitts.inc.php  2016-08-04 
13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/helpdesk/inc/class.uitts.inc.php  2016-08-04 
13:57:01 UTC (rev 15422)
@@ -285,18 +285,6 @@
                        $name[] = 'entry_date';
                        $name[] = 'status';
 
-                       if( $this->acl->check('.ticket.order', PHPGW_ACL_READ, 
'helpdesk') )
-                       {
-                               $name[] = 'order_id';
-                               $name[] = 'vendor';
-                       }
-
-                       if( $this->acl->check('.ticket.order', PHPGW_ACL_ADD, 
'helpdesk') )
-                       {
-                               $name[] = 'estimate';
-                               $name[] = 'actual_cost';
-                       }
-
                        $uicols_related = $this->bo->uicols_related;
 
                        foreach($uicols_related as $related)
@@ -322,12 +310,14 @@
                                array_push($descr,$_name);                      
                        }
 
-                       $name[] = 'finnish_date';
-                       $name[] = 'delay';
+                       if($this->_show_finnish_date)
+                       {
+                               $name[] = 'finnish_date';
+                               $name[] = 'delay';
+                               array_push($descr,lang('finnish 
date'),lang('delay'));
+                       }
 
-                       array_push($descr,lang('finnish date'),lang('delay'));
 
-
                        $custom_cols = 
isset($GLOBALS['phpgw_info']['user']['preferences']['helpdesk']['ticket_columns'])
 ? $GLOBALS['phpgw_info']['user']['preferences']['helpdesk']['ticket_columns'] 
: array();
 
                        foreach ($custom_cols as $col)
@@ -371,7 +361,7 @@
 //                     $ticket = $this->bo->read_single($id);
 
                        $receipt = $this->bo->update_priority(array('priority' 
=> $new_priority), $id);
-                       if 
((isset($this->bo->config->config_data['mailnotification']) && 
$this->bo->config->config_data['mailnotification']) || 
(isset($GLOBALS['phpgw_info']['user']['preferences']['property']['tts_notify_me'])
 && $GLOBALS['phpgw_info']['user']['preferences']['property']['tts_notify_me'] 
== 1 && $this->bo->fields_updated
+                       if 
((isset($this->bo->config->config_data['mailnotification']) && 
$this->bo->config->config_data['mailnotification']) || 
(isset($GLOBALS['phpgw_info']['user']['preferences']['helpdesk']['tts_notify_me'])
 && $GLOBALS['phpgw_info']['user']['preferences']['helpdesk']['tts_notify_me'] 
== 1 && $this->bo->fields_updated
                                )
                        )
                        {
@@ -563,7 +553,7 @@
                                'list' => $values_combo_box[3]
                        );
 
-                       if(!$this->simple)
+                       if(!$this->_simple)
                        {
                                $values_combo_box[0] = 
$this->cats->formatted_xslt_list(array('format' => 'filter',
                                        'selected' => $this->cat_id, 'globals' 
=> true, 'use_acl' => $this->_category_acl));
@@ -761,119 +751,121 @@
                                'parameters' => json_encode($parameters)
                        );
 
-
-                       $jasper = execMethod('property.sojasper.read', 
array('location_id' => $GLOBALS['phpgw']->locations->get_id('helpdesk', 
$this->acl_location)));
-
-                       foreach ($jasper as $report)
+                       if(!$this->_simple)
                        {
-                               $data['datatable']['actions'][] = array
-                                       (
-                                       'my_name' => 'edit',
-                                       'text' => lang('open JasperReport %1 in 
new window', $report['title']),
-                                       'action' => 
$GLOBALS['phpgw']->link('/index.php', array
-                                               (
-                                               'menuaction' => 
'helpdesk.uijasper.view',
-                                               'jasper_id' => $report['id'],
-                                               'target' => '_blank'
-                                       )),
-                                       'parameters' => json_encode($parameters)
-                               );
-                       }
+                               $jasper = execMethod('property.sojasper.read', 
array('location_id' => $GLOBALS['phpgw']->locations->get_id('helpdesk', 
$this->acl_location)));
 
-                       if ($this->acl_delete)
-                       {
-                               $data['datatable']['actions'][] = array
-                                       (
-                                       'my_name' => 'delete',
-                                       'statustext' => lang('delete the 
ticket'),
-                                       'text' => lang('delete'),
-                                       'confirm_msg' => lang('do you really 
want to delete this ticket'),
-                                       'action' => 
$GLOBALS['phpgw']->link('/index.php', array
-                                               (
-                                               'menuaction' => 
'helpdesk.uitts.delete'
-                                       )),
-                                       'parameters' => json_encode($parameters)
-                               );
-                       }
-
-                       if 
(isset($GLOBALS['phpgw_info']['user']['preferences']['helpdesk']['tts_status_link'])
 && 
$GLOBALS['phpgw_info']['user']['preferences']['helpdesk']['tts_status_link'] == 
'yes' && $this->acl_edit)
-                       {
-                               $status['X'] = array
-                                       (
-                                       'status' => lang('closed'),
-                               );
-                               $status['O'] = array
-                                       (
-                                       'status' => 
isset($this->bo->config->config_data['tts_lang_open']) && 
$this->bo->config->config_data['tts_lang_open'] ? 
$this->bo->config->config_data['tts_lang_open'] : lang('Open'),
-                               );
-
-                               $custom_status = $this->bo->get_custom_status();
-
-                               foreach ($custom_status as $custom)
+                               foreach ($jasper as $report)
                                {
-                                       $status["C{$custom['id']}"] = array
-                                               (
-                                               'status' => $custom['name'],
-                                       );
-                               }
-
-                               foreach ($status as $status_code => 
$status_info)
-                               {
                                        $data['datatable']['actions'][] = array
                                                (
-                                               'my_name' => 'status',
-                                               'statustext' => 
$status_info['status'],
-                                               'text' => lang('change to') . ' 
status:  ' . $status_info['status'],
-                                               'confirm_msg' => lang('do you 
really want to change the status to %1', $status_info['status']),
+                                               'my_name' => 'edit',
+                                               'text' => lang('open 
JasperReport %1 in new window', $report['title']),
                                                'action' => 
$GLOBALS['phpgw']->link('/index.php', array
                                                        (
-                                                       'menuaction' => 
'helpdesk.uitts.edit_status',
-                                                       'edit_status' => true,
-                                                       'new_status' => 
$status_code,
-                                                       '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,
-                                                       'delete' => 'dummy'// 
FIXME to trigger the json in property.js.
+                                                       'menuaction' => 
'helpdesk.uijasper.view',
+                                                       'jasper_id' => 
$report['id'],
+                                                       'target' => '_blank'
                                                )),
                                                'parameters' => 
json_encode($parameters)
                                        );
                                }
 
-                               $_priorities = $this->bo->get_priority_list();
-
-                               foreach ($_priorities as $_priority_info)
+                               if ($this->acl_delete)
                                {
                                        $data['datatable']['actions'][] = array
                                                (
-                                               'my_name' => 'priority',
-                                               'statustext' => 
$_priority_info['name'],
-                                               'text' => lang('change to') . ' 
' . lang('priority') . ':  ' . $_priority_info['name'],
-                                               'confirm_msg' => lang('do you 
really want to change the priority to %1', $_priority_info['name']),
+                                               'my_name' => 'delete',
+                                               'statustext' => lang('delete 
the ticket'),
+                                               'text' => lang('delete'),
+                                               'confirm_msg' => lang('do you 
really want to delete this ticket'),
                                                'action' => 
$GLOBALS['phpgw']->link('/index.php', array
                                                        (
-                                                       'menuaction' => 
'helpdesk.uitts.edit_priority',
-                                                       'edit_status' => true,
-                                                       'new_priority' => 
$_priority_info['id'],
-                                                       '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,
-                                                       'delete' => 'dummy'// 
FIXME to trigger the json in property.js.
+                                                       'menuaction' => 
'helpdesk.uitts.delete'
                                                )),
                                                'parameters' => 
json_encode($parameters)
                                        );
                                }
+
+                               if 
(isset($GLOBALS['phpgw_info']['user']['preferences']['helpdesk']['tts_status_link'])
 && 
$GLOBALS['phpgw_info']['user']['preferences']['helpdesk']['tts_status_link'] == 
'yes' && $this->acl_edit)
+                               {
+                                       $status['X'] = array
+                                               (
+                                               'status' => lang('closed'),
+                                       );
+                                       $status['O'] = array
+                                               (
+                                               'status' => 
isset($this->bo->config->config_data['tts_lang_open']) && 
$this->bo->config->config_data['tts_lang_open'] ? 
$this->bo->config->config_data['tts_lang_open'] : lang('Open'),
+                                       );
+
+                                       $custom_status = 
$this->bo->get_custom_status();
+
+                                       foreach ($custom_status as $custom)
+                                       {
+                                               $status["C{$custom['id']}"] = 
array
+                                                       (
+                                                       'status' => 
$custom['name'],
+                                               );
+                                       }
+
+                                       foreach ($status as $status_code => 
$status_info)
+                                       {
+                                               $data['datatable']['actions'][] 
= array
+                                                       (
+                                                       'my_name' => 'status',
+                                                       'statustext' => 
$status_info['status'],
+                                                       'text' => lang('change 
to') . ' status:  ' . $status_info['status'],
+                                                       'confirm_msg' => 
lang('do you really want to change the status to %1', $status_info['status']),
+                                                       'action' => 
$GLOBALS['phpgw']->link('/index.php', array
+                                                               (
+                                                               'menuaction' => 
'helpdesk.uitts.edit_status',
+                                                               'edit_status' 
=> true,
+                                                               'new_status' => 
$status_code,
+                                                               
'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,
+                                                               'delete' => 
'dummy'// FIXME to trigger the json in property.js.
+                                                       )),
+                                                       'parameters' => 
json_encode($parameters)
+                                               );
+                                       }
+
+                                       $_priorities = 
$this->bo->get_priority_list();
+
+                                       foreach ($_priorities as 
$_priority_info)
+                                       {
+                                               $data['datatable']['actions'][] 
= array
+                                                       (
+                                                       'my_name' => 'priority',
+                                                       'statustext' => 
$_priority_info['name'],
+                                                       'text' => lang('change 
to') . ' ' . lang('priority') . ':  ' . $_priority_info['name'],
+                                                       'confirm_msg' => 
lang('do you really want to change the priority to %1', 
$_priority_info['name']),
+                                                       'action' => 
$GLOBALS['phpgw']->link('/index.php', array
+                                                               (
+                                                               'menuaction' => 
'helpdesk.uitts.edit_priority',
+                                                               'edit_status' 
=> true,
+                                                               'new_priority' 
=> $_priority_info['id'],
+                                                               
'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,
+                                                               'delete' => 
'dummy'// FIXME to trigger the json in property.js.
+                                                       )),
+                                                       'parameters' => 
json_encode($parameters)
+                                               );
+                                       }
+                               }
                        }
 
                        if (count($data['datatable']['actions']) < 10)
@@ -1034,12 +1026,23 @@
                                        }
                                }
 
+                               $disable_userassign_on_add = 
isset($this->bo->config->config_data['tts_disable_userassign_on_add']) ? 
$this->bo->config->config_data['tts_disable_userassign_on_add'] : false;
+                               $disable_groupassign_on_add = 
isset($this->bo->config->config_data['tts_disable_groupassign_on_add']) ? 
$this->bo->config->config_data['tts_disable_groupassign_on_add'] : false;
 
-                               if (!$values['assignedto'] && 
!$values['group_id'])
+                               if (!isset($values['assignedto']) || 
!$values['assignedto'])
                                {
+                                       $values['assignedto'] = 
isset($GLOBALS['phpgw_info']['user']['preferences']['helpdesk']['assigntodefault'])
 ? $GLOBALS['phpgw_info']['user']['preferences']['helpdesk']['assigntodefault'] 
: '';
+                               }
+
+                               if (!$values['assignedto'] && 
!$values['group_id'] && !$disable_userassign_on_add && 
!$disable_groupassign_on_add)
+                               {
                                        $receipt['error'][] = array('msg' => 
lang('Please select a person or a group to handle the ticket !'));
                                }
 
+                               if (!isset($values['status']) || 
!$values['status'])
+                               {
+                                       $values['status'] = "O";
+                               }
                                if (!isset($values['priority']) || 
!$values['priority'])
                                {
                                        $_priority = 
$this->bo->get_priority_list();
@@ -1194,7 +1197,7 @@
                        $msgbox_data = (isset($receipt) ? 
$this->bocommon->msgbox_data($receipt) : '');
 
 
-                       if (!$this->simple && $this->show_finnish_date)
+                       if (!$this->_simple && $this->_show_finnish_date)
                        {
                                
$GLOBALS['phpgw']->jqcal->add_listener('values_finnish_date');
                        }
@@ -1210,13 +1213,14 @@
                        $tabs['add'] = array('label' => lang('Add'), 'link' => 
'#add');
                        $active_tab = 'add';
 
+
                        $data = array(
                                'my_groups' => json_encode($my_groups),
                                'custom_attributes' => array('attributes' => 
$values['attributes']),
                                'lookup_functions' => 
isset($values['lookup_functions']) ? $values['lookup_functions'] : '',
                                'contact_data' => $contact_data,
-                               'simple' => $this->simple,
-                               'show_finnish_date' => $this->show_finnish_date,
+                               'simple' => $this->_simple,
+                               'show_finnish_date' => 
$this->_show_finnish_date,
                                'value_origin' => isset($values['origin_data']) 
? $values['origin_data'] : '',
                                'value_origin_type' => (isset($origin) ? 
$origin : ''),
                                'value_origin_id' => (isset($origin_id) ? 
$origin_id : ''),
@@ -1224,8 +1228,10 @@
                                '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->acl_location),
+                               'user_list' => 
$this->_get_user_list($values['assignedto']),
                                'disable_userassign_on_add' => 
isset($this->bo->config->config_data['tts_disable_userassign_on_add']) ? 
$this->bo->config->config_data['tts_disable_userassign_on_add'] : '',
+                               'disable_groupassign_on_add' => 
isset($this->bo->config->config_data['tts_disable_groupassign_on_add']) ? 
$this->bo->config->config_data['tts_disable_groupassign_on_add'] : '',
+                               'disable_priority'                      => 
isset($this->bo->config->config_data['disable_priority']) ? 
$this->bo->config->config_data['disable_priority'] : '',
                                'lang_no_group' => lang('No group'),
                                'group_list' => 
$this->bo->get_group_list($values['group_id']),
                                'select_group_name' => 'values[group_id]',
@@ -1260,6 +1266,7 @@
 
                        self::add_javascript('helpdesk', 'portico', 
'tts.add.js');
                        phpgwapi_jquery::formvalidator_generate(array('date', 
'security','file'));
+                       phpgwapi_jquery::load_widget('autocomplete');
                        $this->_insert_custom_js();
                        $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('helpdesk') . ': ' . $function_msg;
                        $GLOBALS['phpgw']->xslttpl->add_file(array('tts', 
'files', 'attributes_form'));
@@ -1338,12 +1345,8 @@
 
                        $values = phpgw::get_var('values');
                        $values['contact_id'] = phpgw::get_var('contact', 
'int', 'POST');
-//                     $values['ecodimb'] = phpgw::get_var('ecodimb');
                        $values['vendor_id'] = phpgw::get_var('vendor_id', 
'int', 'POST');
                        $values['vendor_name'] = phpgw::get_var('vendor_name', 
'string', 'POST');
-//                     $values['b_account_id'] = 
phpgw::get_var('b_account_id', 'int', 'POST');
-//                     $values['b_account_name'] = 
phpgw::get_var('b_account_name', 'string', 'POST');
-
                        $values_attribute = phpgw::get_var('values_attribute');
 
                        $receipt = 
$GLOBALS['phpgw']->session->appsession('receipt', 'helpdesk');
@@ -1407,33 +1410,7 @@
                                }
 
 
-                               if ($access_order)
-                               {
-                                       //test for budget
-                                       $_ticket = $this->bo->read_single($id);
-                                       if (!$_ticket['budget'] && 
((isset($values['order_id']) && $values['order_id']) && 
(!isset($values['budget']) || !$values['budget'])))
-                                       {
-                                               $receipt['error'][] = 
array('msg' => lang('budget') . ': ' . lang('Missing value'));
-                                       }
-                                       unset($_ticket);
 
-                                       $sogeneric = 
CreateObject('property.sogeneric');
-                                       
$sogeneric->get_location_info('ticket_status', false);
-                                       $status_data = 
$sogeneric->read_single(array('id' => (int)ltrim($values['status'], 'C')), 
array());
-
-                                       if (isset($status_data['actual_cost']) 
&& $status_data['actual_cost'])
-                                       {
-                                               if (!$values['actual_cost'] || 
!abs($values['actual_cost']) > 0)
-                                               {
-                                                       $receipt['error'][] = 
array('msg' => lang('actual cost') . ': ' . lang('Missing value'));
-                                               }
-                                               else if 
(!is_numeric($values['actual_cost']))
-                                               {
-                                                       $receipt['error'][] = 
array('msg' => lang('budget') . ': ' . lang('Please enter a numeric value'));
-                                               }
-                                       }
-                               }
-
                                if (isset($values['takeover']) && 
$values['takeover'])
                                {
                                        $values['assignedto'] = $this->account;
@@ -1450,7 +1427,7 @@
                                  }
                                  }
                                 */
-                               $receipt = $this->bo->update_ticket($values, 
$id, $receipt, $values_attribute);
+                               $receipt = $this->bo->update_ticket($values, 
$id, $receipt, $values_attribute, $this->_simple);
 
                                if ((isset($values['send_mail']) && 
$values['send_mail']) || 
(isset($this->bo->config->config_data['mailnotification']) && 
$this->bo->config->config_data['mailnotification'] && $this->bo->fields_updated
                                        ) || 
(isset($GLOBALS['phpgw_info']['user']['preferences']['helpdesk']['tts_notify_me'])
 && $GLOBALS['phpgw_info']['user']['preferences']['helpdesk']['tts_notify_me'] 
== 1 && $this->bo->fields_updated
@@ -1553,7 +1530,7 @@
                        }
 
 
-                       if ($this->show_finnish_date)
+                       if ($this->_show_finnish_date)
                        {
                                
$GLOBALS['phpgw']->jqcal->add_listener('values_finnish_date');
                        }
@@ -1750,13 +1727,14 @@
                                'my_groups' => json_encode($my_groups),
                                'custom_attributes' => array('attributes' => 
$ticket['attributes']),
                                'lookup_functions' => 
isset($ticket['lookup_functions']) ? $ticket['lookup_functions'] : '',
-                               'simple' => $this->simple,
+                               'simple' => $this->_simple,
                                'send_response' => 
isset($this->bo->config->config_data['tts_send_response']) ? 
$this->bo->config->config_data['tts_send_response'] : '',
+                               'disable_priority'      => 
isset($this->bo->config->config_data['disable_priority']) ? 
$this->bo->config->config_data['disable_priority'] : '',
                                'value_sms_phone' => $ticket['contact_phone'],
                                'value_budget' => $ticket['budget'],
                                'value_actual_cost' => $ticket['actual_cost'],
                                'contact_data' => $contact_data,
-                               'show_finnish_date' => $this->show_finnish_date,
+                               'show_finnish_date' => 
$this->_show_finnish_date,
                                'tabs' => self::_generate_tabs(true),
                                'base_java_url' => 
"{menuaction:'helpdesk.uitts.update_data',id:{$id}}",
                                'location_item_id' => $id,
@@ -1770,7 +1748,7 @@
                                '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]',
                                'value_assignedto_id' => $ticket['assignedto'],
-                               'user_list' => 
$this->bocommon->get_user_list_right2('select', 4, $ticket['assignedto'], 
$this->acl_location),
+                               'user_list' => 
$this->_get_user_list($values['assignedto']),
                                'lang_no_group' => lang('No group'),
                                'group_list' => 
$this->bo->get_group_list($ticket['group_id']),
                                'select_group_name' => 'values[group_id]',
@@ -1800,7 +1778,7 @@
                                'contact_phone' => $ticket['contact_phone'],
                                'pref_send_mail' => 
isset($GLOBALS['phpgw_info']['user']['preferences']['helpdesk']['tts_user_mailnotification'])
 ? 
$GLOBALS['phpgw_info']['user']['preferences']['helpdesk']['tts_user_mailnotification']
 : '',
                                'fileupload' => 
true,//isset($this->bo->config->config_data['fmttsfileupload']) ? 
$this->bo->config->config_data['fmttsfileupload'] : '',
-                               'multiple_uploader' => true,
+       //                      'multiple_uploader' => true,
                                'fileuploader_action' => 
"{menuaction:'property.fileuploader.add',upload_target:'helpdesk.botts.addfiles',id:'{$id}'}",
                                'link_to_files' => 
isset($this->bo->config->config_data['files_url']) ? 
$this->bo->config->config_data['files_url'] : '',
                                'files' => isset($ticket['files']) ? 
$ticket['files'] : '',
@@ -1911,4 +1889,49 @@
                        }
                }
 
+               private function _get_user_list($selected)
+               {
+                       if 
(isset($this->bo->config->config_data['fmtts_assign_group_candidates']) && 
is_array($this->bo->config->config_data['fmtts_assign_group_candidates']))
+                       {
+                               foreach 
($this->bo->config->config_data['fmtts_assign_group_candidates'] as 
$group_candidate)
+                               {
+                                       if ($group_candidate)
+                                       {
+                                               $_candidates[] = 
$group_candidate;
+                                       }
+                               }
+                       }
+
+                       $xsl_rootdir = PHPGW_SERVER_ROOT . 
"/property/templates/{$GLOBALS['phpgw_info']['server']['template_set']}";
+
+                       
$GLOBALS['phpgw']->xslttpl->add_file(array('user_id_select'), $xsl_rootdir);
+
+                       $users = 
$GLOBALS['phpgw']->acl->get_user_list_right(PHPGW_ACL_EDIT, 
$this->acl_location, 'helpdesk', $_candidates);
+                       $user_list = array();
+                       $selected_found = false;
+                       foreach ($users as $user)
+                       {
+                               $name = (isset($user['account_lastname']) ? 
$user['account_lastname'] . ' ' : '') . $user['account_firstname'];
+                               $user_list[] = array(
+                                       'id' => $user['account_id'],
+                                       'name' => $name,
+                                       'selected' => $user['account_id'] == 
$selected ? 1 : 0
+                               );
+
+                               if (!$selected_found)
+                               {
+                                       $selected_found = $user['account_id'] 
== $selected ? true : false;
+                               }
+                       }
+                       if ($selected && !$selected_found)
+                       {
+                               $user_list[] = array
+                                       (
+                                       'id' => $selected,
+                                       'name' => 
$GLOBALS['phpgw']->accounts->get($selected)->__toString(),
+                                       'selected' => 1
+                               );
+                       }
+                       return $user_list;
+               }
        }

Modified: branches/dev-syncromind-2/helpdesk/inc/hook_config.inc.php
===================================================================
--- branches/dev-syncromind-2/helpdesk/inc/hook_config.inc.php  2016-08-04 
13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/helpdesk/inc/hook_config.inc.php  2016-08-04 
13:57:01 UTC (rev 15422)
@@ -28,6 +28,32 @@
 
 
        /**
+        * Get HTML checkbox with groups that are candidates for simplified tts 
interface
+        *
+        * @param $config
+        * @return string HTML checkboxes to be placed in a table
+        */
+       function fmtts_assign_group_candidates( $config )
+       {
+               $groups = $GLOBALS['phpgw']->accounts->get_list('groups');
+               $groups_assigned = 
isset($config['fmtts_assign_group_candidates']) ? 
$config['fmtts_assign_group_candidates'] : array();
+               $out = '';
+               foreach ($groups as $group => $label)
+               {
+                       $checked = '';
+                       if (in_array($group, $groups_assigned))
+                       {
+                               $checked = ' checked';
+                       }
+
+                       $out .= <<<HTML
+                       <tr><td><input type="checkbox" 
name="newsettings[fmtts_assign_group_candidates][]" value="{$group}" 
{$checked}><label>{$label}</label></td></tr>
+HTML;
+               }
+               return $out;
+       }
+
+       /**
        * Get HTML checkbox with groups that are candidates for simplified tts 
interface
        *
        * @param $config

Modified: branches/dev-syncromind-2/helpdesk/setup/phpgw_no.lang
===================================================================
--- branches/dev-syncromind-2/helpdesk/setup/phpgw_no.lang      2016-08-04 
13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/helpdesk/setup/phpgw_no.lang      2016-08-04 
13:57:01 UTC (rev 15422)
@@ -39,14 +39,14 @@
 prev   helpdesk        no      Forrige
 old value      helpdesk        no      Forrige verdi
 first  helpdesk        no      Første
-first note added       helpdesk        no      Første notat er registrert
+first note added       helpdesk        no      Første notat
 from   helpdesk        no      Fra
 general        helpdesk        no      Generell
-notify helpdesk        no      Varsle
+notify helpdesk        no      Kopi til
 re-opened      helpdesk        no      Gjenåpnet
 group  helpdesk        no      Gruppe
 action helpdesk        no      Handling
-helpdesk       helpdesk        no      Helpdesk
+helpdesk       common  no      Helpdesk
 integer        helpdesk        no      Heltall
 event  helpdesk        no      Hendelse
 history        helpdesk        no      Historikk
@@ -91,7 +91,7 @@
 my submitted tickets   helpdesk        no      Meldinger startet av meg
 check to attach file   helpdesk        no      Merk for å legge ved fil
 check to delete file   helpdesk        no      Merk for å slette fil
-note   helpdesk        no      Merknad
+note   helpdesk        no      Notat
 method helpdesk        no      Metode
 my assigned tickets    helpdesk        no      Mine tildelte meldinger
 failed to upload file !        helpdesk        no      Opplasting av fil feilet
@@ -101,7 +101,7 @@
 next   helpdesk        no      Neste
 memo   helpdesk        no      Notat
 new    helpdesk        no      Ny
-new note       helpdesk        no      Ny kommentar
+new note       helpdesk        no      Nytt notat
 new value      helpdesk        no      Ny verdi
 ok     helpdesk        no      OK
 about  helpdesk        no      Om
@@ -173,4 +173,6 @@
 billable hours helpdesk        no      Egne timer
 change to      helpdesk        no      Endre til
 do you really want to change the status to %1  helpdesk        no      Vil du 
virkelig endre status til %1
-do you really want to change the priority to %1        helpdesk        no      
Vil du virkelig endre prioritet til %1
\ No newline at end of file
+do you really want to change the priority to %1        helpdesk        no      
Vil du virkelig endre prioritet til %1
+please enter a title!  helpdesk        no      Angi en overskrift
+ticket has been updated        helpdesk        no      Melding er oppdatert
\ No newline at end of file

Modified: branches/dev-syncromind-2/helpdesk/templates/base/config.tpl
===================================================================
--- branches/dev-syncromind-2/helpdesk/templates/base/config.tpl        
2016-08-04 13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/helpdesk/templates/base/config.tpl        
2016-08-04 13:57:01 UTC (rev 15422)
@@ -29,6 +29,34 @@
                                {lang_default}: {lang_Open}</td>
                        <td><input name="newsettings[tts_lang_open]" 
value="{value_tts_lang_open}"></td>
                </tr>
+               <tr class="pure-table-odd">
+                       <td >{lang_TTS_disable_assign_to_user_on_add}:</td>
+                       <td>
+                               <select 
name="newsettings[tts_disable_userassign_on_add]">
+                                       <option value="" 
{selected_tts_disable_userassign_on_add_}>NO</option>
+                                       <option value="1" 
{selected_tts_disable_userassign_on_add_1}>YES</option>
+                               </select>
+                       </td>
+               </tr>
+               <tr class="pure-table-odd">
+                       <td >{lang_TTS_disable_assign_to_group_on_add}:</td>
+                       <td>
+                               <select 
name="newsettings[tts_disable_groupassign_on_add]">
+                                       <option value="" 
{selected_tts_disable_groupassign_on_add_}>NO</option>
+                                       <option value="1" 
{selected_tts_disable_groupassign_on_add_1}>YES</option>
+                               </select>
+                       </td>
+               </tr>
+               <tr class="pure-table-odd">
+                       <td >{lang_TTS_disable_priority}:</td>
+                       <td>
+                               <select name="newsettings[disable_priority]">
+                                       <option value="" 
{selected_disable_priority_}>NO</option>
+                                       <option value="1" 
{selected_disable_priority_1}>YES</option>
+                               </select>
+                       </td>
+               </tr>
+
                <tr class="row_on">
                        <td valign = 'top'>{lang_TTS_simplified_group}:</td>
                        <td>
@@ -39,6 +67,16 @@
                                </table>
                        </td>
                </tr>
+               <tr>
+                       <td valign = 
'top'>{lang_TTS_assign_group_candidates}:</td>
+                       <td>
+                               <!--to be able to blank the setting - need an 
empty value-->
+                               <input type = 'hidden' 
name="newsettings[fmtts_assign_group_candidates][]" value="">
+                               <table>
+                                       {hook_fmtts_assign_group_candidates}
+                               </table>
+                       </td>
+               </tr>
                <tr class="row_on">
                        <td>{lang_Mail_Notification}:</td>
                        <td>

Modified: branches/dev-syncromind-2/helpdesk/templates/base/tts.xsl
===================================================================
--- branches/dev-syncromind-2/helpdesk/templates/base/tts.xsl   2016-08-04 
13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/helpdesk/templates/base/tts.xsl   2016-08-04 
13:57:01 UTC (rev 15422)
@@ -69,26 +69,26 @@
                                        </div>
                                        <xsl:choose>
                                                <xsl:when test="simple !='1'">
-                                                       <div 
class="pure-control-group">
-                                                               <label>
-                                                                       
<xsl:value-of select="php:function('lang', 'Group')"/>
-                                                               </label>
+                                                       <xsl:if 
test="disable_groupassign_on_add !='1'">
+                                                               <div 
class="pure-control-group">
+                                                                       <label>
+                                                                               
<xsl:value-of select="php:function('lang', 'Group')"/>
+                                                                       </label>
 
-                                                               
<xsl:call-template name="group_select"/>
-                                                       </div>
-                                                       <xsl:choose>
-                                                               <xsl:when 
test="disable_userassign_on_add !='1'">
-                                                                       <div 
class="pure-control-group">
-                                                                               
<label>
-                                                                               
        <xsl:value-of select="php:function('lang', 'Assign to')"/>
-                                                                               
</label>
+                                                                       
<xsl:call-template name="group_select"/>
+                                                               </div>
+                                                       </xsl:if>
+                                                       <xsl:if 
test="disable_userassign_on_add !='1'">
+                                                               <div 
class="pure-control-group">
+                                                                       <label>
+                                                                               
<xsl:value-of select="php:function('lang', 'Assign to')"/>
+                                                                       </label>
 
-                                                                               
<xsl:call-template name="user_id_select"/>
-                                                                       </div>
-                                                               </xsl:when>
-                                                       </xsl:choose>
-                                                       <xsl:call-template 
name="contact_form"/>
-                                                       <div 
class="pure-control-group">
+                                                                       
<xsl:call-template name="user_id_select"/>
+                                                               </div>
+                                                       </xsl:if>
+                                                       <!--xsl:call-template 
name="contact_form"/-->
+                                                       <!--div 
class="pure-control-group">
                                                                <label>
                                                                        
<xsl:value-of select="php:function('lang', 'Send e-mail')"/>
                                                                </label>
@@ -102,22 +102,24 @@
                                                                                
</xsl:attribute>
                                                                        
</xsl:if>
                                                                </input>
-                                                       </div>
-                                                       <div 
class="pure-control-group">
-                                                               <label>
-                                                                       
<xsl:value-of select="php:function('lang', 'Priority')"/>
-                                                               </label>
+                                                       </div-->
+                                                       <xsl:if 
test="disable_priority !='1'">
+                                                               <div 
class="pure-control-group">
+                                                                       <label>
+                                                                               
<xsl:value-of select="php:function('lang', 'Priority')"/>
+                                                                       </label>
 
-                                                               <xsl:variable 
name="lang_priority_statustext">
-                                                                       
<xsl:value-of select="lang_priority_statustext"/>
-                                                               </xsl:variable>
-                                                               <xsl:variable 
name="select_priority_name">
-                                                                       
<xsl:value-of select="select_priority_name"/>
-                                                               </xsl:variable>
-                                                               <select 
name="{$select_priority_name}" 
onMouseover="window.status='{$lang_priority_statustext}'; return true;" 
onMouseout="window.status='';return true;">
-                                                                       
<xsl:apply-templates select="priority_list/options"/>
-                                                               </select>
-                                                       </div>
+                                                                       
<xsl:variable name="lang_priority_statustext">
+                                                                               
<xsl:value-of select="lang_priority_statustext"/>
+                                                                       
</xsl:variable>
+                                                                       
<xsl:variable name="select_priority_name">
+                                                                               
<xsl:value-of select="select_priority_name"/>
+                                                                       
</xsl:variable>
+                                                                       <select 
name="{$select_priority_name}" title="{$lang_priority_statustext}">
+                                                                               
<xsl:apply-templates select="priority_list/options"/>
+                                                                       
</select>
+                                                               </div>
+                                                       </xsl:if>
                                                        <div 
class="pure-control-group">
                                                                <label>
                                                                        
<xsl:value-of select="php:function('lang', 'status')"/>
@@ -161,7 +163,7 @@
                                                                        
<xsl:text>required</xsl:text>
                                                                </xsl:attribute>
                                                                <xsl:attribute 
name="data-validation-error-msg">
-                                                                       
<xsl:value-of select="php:function('lang', 'Please enter a title !')"/>
+                                                                       
<xsl:value-of select="php:function('lang', 'Please enter a title!')"/>
                                                                </xsl:attribute>
                                                        </xsl:if>
 
@@ -326,7 +328,7 @@
                                                                <xsl:value-of 
select="php:function('lang', 'update subject')"/>
                                                        </xsl:attribute>
                                                </input>
-                                               <input type="text" id="id" 
name="id" value="{id}">
+                                               <input type="hidden" id="id" 
name="id" value="{id}">
                                                </input>
 
                                        </div>
@@ -357,7 +359,7 @@
                                                        </div>
                                                </xsl:when>
                                        </xsl:choose>
-                                       <xsl:call-template name="contact_form"/>
+                                       <!--xsl:call-template 
name="contact_form"/-->
                                        <xsl:for-each select="value_target">
                                                <div class="pure-control-group">
                                                        <label>
@@ -398,12 +400,12 @@
                                        </div>
                                        <xsl:choose>
                                                <xsl:when test="simple !='1'">
-                                                       <div 
class="pure-control-group">
+                                                       <!--div 
class="pure-control-group">
                                                                <label>
                                                                        
<xsl:value-of select="php:function('lang', 'group')"/>
                                                                </label>
                                                                
<xsl:call-template name="group_select"/>
-                                                       </div>
+                                                       </div-->
                                                        <div 
class="pure-control-group">
                                                                <label>
                                                                        
<xsl:value-of select="php:function('lang', 'assigned to')"/>
@@ -439,35 +441,33 @@
                                                                        
</xsl:if>
                                                                </input>
                                                        </div>
+                                                       <xsl:if 
test="disable_priority !='1'">
+                                                               <div 
class="pure-control-group">
+                                                                       <label>
+                                                                               
<xsl:value-of select="php:function('lang', 'Priority')"/>
+                                                                       </label>
+                                                                       
<xsl:variable name="lang_priority_statustext">
+                                                                               
<xsl:value-of select="php:function('lang', 'Select the priority the selection 
belongs to')"/>
+                                                                       
</xsl:variable>
+                                                                       
<xsl:variable name="select_priority_name">
+                                                                               
<xsl:value-of select="select_priority_name"/>
+                                                                       
</xsl:variable>
+                                                                       <select 
name="{$select_priority_name}" class="forms" 
title="{$lang_priority_statustext}" 
onMouseover="window.status='{$lang_priority_statustext}'; return true;" 
onMouseout="window.status='';return true;">
+                                                                               
<xsl:apply-templates select="priority_list/options"/>
+                                                                       
</select>
+                                                               </div>
+                                                       </xsl:if>
                                                        <div 
class="pure-control-group">
                                                                <label>
-                                                                       
<xsl:value-of select="php:function('lang', 'Priority')"/>
+                                                                       
<xsl:value-of select="php:function('lang', 'status')"/>
                                                                </label>
-                                                               <xsl:variable 
name="lang_priority_statustext">
-                                                                       
<xsl:value-of select="php:function('lang', 'Select the priority the selection 
belongs to')"/>
-                                                               </xsl:variable>
-                                                               <xsl:variable 
name="select_priority_name">
-                                                                       
<xsl:value-of select="select_priority_name"/>
-                                                               </xsl:variable>
-                                                               <select 
name="{$select_priority_name}" class="forms" 
title="{$lang_priority_statustext}" 
onMouseover="window.status='{$lang_priority_statustext}'; return true;" 
onMouseout="window.status='';return true;">
-                                                                       
<xsl:apply-templates select="priority_list/options"/>
+                                                               <select 
id="status_id" name="values[status]" class="forms">
+                                                                       
<xsl:attribute name="title">
+                                                                               
<xsl:value-of select="php:function('lang', 'Set the status of the ticket')"/>
+                                                                       
</xsl:attribute>
+                                                                       
<xsl:apply-templates select="status_list/options"/>
                                                                </select>
                                                        </div>
-                                                       <xsl:choose>
-                                                               <xsl:when 
test="value_order_id=''">
-                                                                       <div 
class="pure-control-group">
-                                                                               
<label>
-                                                                               
        <xsl:value-of select="php:function('lang', 'status')"/>
-                                                                               
</label>
-                                                                               
<select id="status_id" name="values[status]" class="forms">
-                                                                               
        <xsl:attribute name="title">
-                                                                               
                <xsl:value-of select="php:function('lang', 'Set the status of 
the ticket')"/>
-                                                                               
        </xsl:attribute>
-                                                                               
        <xsl:apply-templates select="status_list/options"/>
-                                                                               
</select>
-                                                                       </div>
-                                                               </xsl:when>
-                                                       </xsl:choose>
                                                        <div 
class="pure-control-group">
                                                                <label>
                                                                        
<xsl:value-of select="php:function('lang', 'category')"/>
@@ -566,6 +566,8 @@
                                        <div class="pure-control-group">
                                                <label>
                                                        <xsl:value-of 
select="php:function('lang', 'paste image data')"/>
+                                                       <br/>
+                                                       <xsl:text>Ctrl + 
V</xsl:text>
                                                </label>
                                                <canvas title="Copy image data 
into clipboard and press Ctrl+V" style="border:1px solid grey;" id="my_canvas" 
width="100" height="100">
                                                </canvas>

Modified: branches/dev-syncromind-2/phpgwapi/inc/class.acl.inc.php
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/class.acl.inc.php    2016-08-04 
13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/phpgwapi/inc/class.acl.inc.php    2016-08-04 
13:57:01 UTC (rev 15422)
@@ -1975,7 +1975,7 @@
                *
                * @return array Array with accounts
                */
-               public function get_user_list_right($required, $location, 
$appname = '')
+               public function get_user_list_right($required, $location, 
$appname = '' , $group_candidates = array())
                {
                        $myaccounts                     = & 
$GLOBALS['phpgw']->accounts;
                        $active_accounts        = array();
@@ -2006,11 +2006,12 @@
                        }
                        else
                        {
-                               $sql = "SELECT account_id, account_type FROM 
phpgw_accounts"
+                               $sql = "SELECT DISTINCT account_id, 
account_type FROM phpgw_accounts"
                                        . " {$this->_join} phpgw_acl on 
phpgw_accounts.account_id = phpgw_acl.acl_account"
                                        . " {$this->_join} phpgw_locations on 
phpgw_acl.location_id = phpgw_locations.location_id"
+                                       . " {$this->_join} phpgw_applications 
on phpgw_locations.app_id  = phpgw_applications.app_id"
                                        . " WHERE account_status = 'A' AND 
phpgw_locations.name = '{$location}'"
-                                       . " ORDER BY account_lastname ASC";
+                                       . " AND phpgw_applications.app_name = 
'{$appname}'";
 
                                $this->_db->query($sql,__LINE__,__FILE__);
 
@@ -2032,6 +2033,11 @@
                                {
                                        if($entry['account_type']=='g')
                                        {
+                                               if($group_candidates && 
!in_array($entry['account_id'], $group_candidates))
+                                               {
+                                                       continue;
+                                               }
+
                                                $members = 
$myaccounts->member($entry['account_id'], true);
 
                                                if (isset($members) AND 
is_array($members))

Modified: branches/dev-syncromind-2/phpgwapi/inc/class.custom_fields.inc.php
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/class.custom_fields.inc.php  
2016-08-04 13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/phpgwapi/inc/class.custom_fields.inc.php  
2016-08-04 13:57:01 UTC (rev 15422)
@@ -1033,10 +1033,10 @@
                 * @return array attributes at location
                 */
                public function find($appname, $location, $start = 0, $query = 
'', $sort = 'ASC',
-                               $order = 'attrib_sort', $allrows = false, 
$inc_choices = false, $filter = array())
+                               $order = 'attrib_sort', $allrows = false, 
$inc_choices = false, $filter = array(), $results = 0)
                {
                        $location_id    = 
$GLOBALS['phpgw']->locations->get_id($appname, $location);
-                       return $this->find2($location_id, $start, $query, 
$sort, $order, $allrows, $inc_choices, $filter);
+                       return $this->find2($location_id, $start, $query, 
$sort, $order, $allrows, $inc_choices, $filter, $results);
                }
 
                /**
@@ -1055,7 +1055,7 @@
                 */
 
                public function find2($location_id, $start = 0, $query = '', 
$sort = 'ASC',
-                               $order = 'attrib_sort', $allrows = false, 
$inc_choices = false, $filter = array())
+                               $order = 'attrib_sort', $allrows = false, 
$inc_choices = false, $filter = array(), $results = 0)
                {
                         
                        $location_id    = (int) $location_id;
@@ -1133,7 +1133,7 @@
                        }
                        else
                        {
-                               $this->_db->limit_query($sql, $start, __LINE__, 
__FILE__);
+                               $this->_db->limit_query($sql, $start, __LINE__, 
__FILE__, $results);
                        }
 
                        $attribs = array();
@@ -2121,7 +2121,7 @@
                        }
                        else
                        {
-                               $_test_input = 
str_replace(array("\n","\r","\t", 'Array', 'array', '[', ']', '(', ')', ' ', 
'&gt;'), array(',','','','','','','','','','',''), stripslashes($data));
+                               $_test_input = 
str_replace(array("&#61;","\n","\r","\t", 'Array', 'array', '[', ']', '(', ')', 
' ', '&gt','&#59;','&#40;', '&#41;'), 
array('=',',','','','','','','','','','','','','',''), 
stripslashes(htmlspecialchars_decode($data)));
                                $_test_input= explode(',', $_test_input);
                                if(is_array($_test_input))
                                {

Modified: branches/dev-syncromind-2/phpgwapi/inc/class.phpgw.inc.php
===================================================================
--- branches/dev-syncromind-2/phpgwapi/inc/class.phpgw.inc.php  2016-08-04 
13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/phpgwapi/inc/class.phpgw.inc.php  2016-08-04 
13:57:01 UTC (rev 15422)
@@ -462,7 +462,7 @@
                                        default:
                                                $value = filter_var($value, 
FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES);
                                                $value = 
htmlspecialchars($value, ENT_QUOTES, 'UTF-8');
-                                               $value = str_replace(array('(', 
')', ';', '=', '--'),array('&#40;', '&#41;', '&#59;', 
'&#61;','&#8722;&#8722;'), $value); // prevent SQL-injection
+                                               $value = 
str_replace(array(';','(', ')', '=', '--'),array('&#59;','&#40;', '&#41;', 
'&#61;','&#8722;&#8722;'), $value); // prevent SQL-injection
                                                break;
 
                                        case 'boolean':

Modified: branches/dev-syncromind-2/phpgwapi/templates/base/attributes_form.xsl
===================================================================
--- branches/dev-syncromind-2/phpgwapi/templates/base/attributes_form.xsl       
2016-08-04 13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/phpgwapi/templates/base/attributes_form.xsl       
2016-08-04 13:57:01 UTC (rev 15422)
@@ -62,12 +62,12 @@
        <xsl:param name="textareacols" />
        <xsl:param name="textarearows" />
 
-                                       <xsl:choose>
+       <xsl:choose>
                <xsl:when test="datatype='section'">
                        <div class="pure-control-group">
                                <xsl:value-of select="descr" 
disable-output-escaping="yes"/>
                        </div>
-                                               </xsl:when>
+               </xsl:when>
        </xsl:choose>
 
        <div class="pure-control-group">
@@ -96,11 +96,11 @@
                                                        <xsl:choose>
                                                                <xsl:when 
test="value!=''">
                                                                        
<xsl:value-of select="php:function('lang', 'edit')"/>
-                                               </xsl:when>
+                                                               </xsl:when>
                                                                <xsl:otherwise>
                                                                        
<xsl:value-of select="php:function('lang', 'add')"/>
                                                                </xsl:otherwise>
-                                       </xsl:choose>
+                                                       </xsl:choose>
                                                        <xsl:text> ]</xsl:text>
                                                </xsl:when>
                                        </xsl:choose>
@@ -108,8 +108,8 @@
                        </xsl:when>
                </xsl:choose>
 
-                                       <xsl:choose>
-                                               <xsl:when test="name!=''">
+               <xsl:choose>
+                       <xsl:when test="name!=''">
                                <input type="hidden" 
name="values_attribute[{id}][name]" value="{name}"/>
                                <input type="hidden" 
name="values_attribute[{id}][datatype]" value="{datatype}"/>
                                <input type="hidden" 
name="values_attribute[{id}][precision]" value="{precision}"/>
@@ -118,18 +118,18 @@
                                <input type="hidden" 
name="values_attribute[{id}][nullable]" value="{nullable}"/>
                                <input type="hidden" 
name="values_attribute[{id}][input_text]" value="{input_text}"/>
                                <input type="hidden" 
name="values_attribute[{id}][disabled]" value="{disabled}"/>
-                                                       <xsl:choose>
-                                                               <xsl:when 
test="datatype='R'">
+                               <xsl:choose>
+                                       <xsl:when test="datatype='R'">
                                                <xsl:call-template 
name="choice">
                                                        <xsl:with-param 
name="input_type">radio</xsl:with-param>
                                                </xsl:call-template>
-                                                               </xsl:when>
-                                                               <xsl:when 
test="datatype='CH'">
+                                       </xsl:when>
+                                       <xsl:when test="datatype='CH'">
                                                <xsl:call-template 
name="choice">
                                                        <xsl:with-param 
name="input_type">checkbox</xsl:with-param>
                                                </xsl:call-template>
-                                                               </xsl:when>
-                                                               <xsl:when 
test="datatype='LB'">
+                                       </xsl:when>
+                                       <xsl:when test="datatype='LB'">
                                                <select id="id_{name}" 
name="values_attribute[{id}][value]" title="{$statustext}">
                                                        <xsl:choose>
                                                                <xsl:when 
test="disabled!=''">
@@ -146,26 +146,26 @@
                                                        <option value="">
                                                                <xsl:value-of 
select="php:function('lang', 'select')"/>
                                                        </option>
-                                                                               
<xsl:for-each select="choice">  
+                                                       <xsl:for-each 
select="choice">
                                                                <xsl:variable 
name="id">
                                                                        
<xsl:value-of select="id"/>
                                                                </xsl:variable>
-                                                                               
        <xsl:choose>
+                                                               <xsl:choose>
                                                                        
<xsl:when test="selected='1'">
                                                                                
<option value="{$id}" selected="selected">
                                                                                
        <xsl:value-of disable-output-escaping="yes" select="value"/>
                                                                                
</option>
-                                                                               
                </xsl:when>
-                                                                               
                <xsl:otherwise>
+                                                                       
</xsl:when>
+                                                                       
<xsl:otherwise>
                                                                                
<option value="{$id}">
                                                                                
        <xsl:value-of disable-output-escaping="yes" select="value"/>
                                                                                
</option>
-                                                                               
                </xsl:otherwise>
-                                                                               
        </xsl:choose>                           
-                                                                               
</xsl:for-each>
-                                                                       
</select>
-                                                               </xsl:when>
-                                                               <xsl:when 
test="datatype='AB'">
+                                                                       
</xsl:otherwise>
+                                                               </xsl:choose>
+                                                       </xsl:for-each>
+                                               </select>
+                                       </xsl:when>
+                                       <xsl:when test="datatype='AB'">
                                                <xsl:variable 
name="contact_name">
                                                        <xsl:value-of 
select="name"/>
                                                        
<xsl:text>_name</xsl:text>
@@ -185,19 +185,19 @@
                                                                <xsl:when 
test="disabled!=''">
                                                                        
<xsl:attribute name="disabled">
                                                                                
<xsl:text> disabled</xsl:text>
-                                                                               
</xsl:attribute>
+                                                                       
</xsl:attribute>
                                                                </xsl:when>
                                                        </xsl:choose>
-                                                                       </input>
-                                                                       <input  
size="30" type="text" name="{$contact_name}" value="{contact_name}"  
onClick="{$lookup_function}" readonly="readonly"> 
+                                               </input>
+                                               <input  size="30" type="text" 
name="{$contact_name}" value="{contact_name}"  onClick="{$lookup_function}" 
readonly="readonly">
                                                        <xsl:choose>
                                                                <xsl:when 
test="disabled!=''">
                                                                        
<xsl:attribute name="disabled">
                                                                                
<xsl:text> disabled</xsl:text>
-                                                                               
</xsl:attribute>
+                                                                       
</xsl:attribute>
                                                                </xsl:when>
                                                        </xsl:choose>
-                                                                       </input>
+                                               </input>
                                                <input type="checkbox" 
name="clear_{name}_box" onClick="{$clear_function}">
                                                        <xsl:attribute 
name="title">
                                                                <xsl:value-of 
select="php:function('lang', 'delete')"/>
@@ -209,7 +209,7 @@
                                                <xsl:choose>
                                                        <xsl:when 
test="contact_tel!=''">
                                                                <xsl:value-of 
select="contact_tel"/>
-                                                               </xsl:when>
+                                                       </xsl:when>
                                                </xsl:choose>
                                                <xsl:choose>
                                                        <xsl:when 
test="contact_email!=''">
@@ -234,23 +234,23 @@
                                                                <xsl:when 
test="disabled!=''">
                                                                        
<xsl:attribute name="disabled">
                                                                                
<xsl:text> disabled</xsl:text>
-                                                                               
</xsl:attribute>
+                                                                       
</xsl:attribute>
                                                                </xsl:when>
                                                        </xsl:choose>
-                                                                       </input>
+                                               </input>
                                                <input size="30" type="text" 
name="{$org_name}" value="{org_name}" onClick="{$lookup_function}" 
readonly="readonly">
                                                        <xsl:choose>
                                                                <xsl:when 
test="disabled!=''">
                                                                        
<xsl:attribute name="disabled">
                                                                                
<xsl:text> disabled</xsl:text>
-                                                                               
</xsl:attribute>
+                                                                       
</xsl:attribute>
                                                                </xsl:when>
                                                        </xsl:choose>
-                                                                       </input>
+                                               </input>
                                                <xsl:choose>
                                                        <xsl:when 
test="org_tel!=''">
                                                                <xsl:value-of 
select="org_tel"/>
-                                                               </xsl:when>
+                                                       </xsl:when>
                                                </xsl:choose>
                                                <xsl:choose>
                                                        <xsl:when 
test="org_email!=''">
@@ -275,12 +275,12 @@
                                                                <xsl:when 
test="disabled!=''">
                                                                        
<xsl:attribute name="disabled">
                                                                                
<xsl:text> disabled</xsl:text>
-                                                                               
</xsl:attribute>
+                                                                       
</xsl:attribute>
                                                                </xsl:when>
                                                                <xsl:when 
test="nullable!='1'">
                                                                        
<xsl:attribute name="data-validation">
                                                                                
<xsl:text>required</xsl:text>
-                                                                               
</xsl:attribute>
+                                                                       
</xsl:attribute>
                                                                </xsl:when>
                                                        </xsl:choose>
                                                </input>
@@ -289,10 +289,10 @@
                                                                <xsl:when 
test="disabled!=''">
                                                                        
<xsl:attribute name="disabled">
                                                                                
<xsl:text> disabled</xsl:text>
-                                                                               
</xsl:attribute>
+                                                                       
</xsl:attribute>
                                                                </xsl:when>
                                                        </xsl:choose>
-                                                                       </input>
+                                               </input>
                                        </xsl:when>
                                        <xsl:when test="datatype='custom1'">
                                                <select 
name="values_attribute[{id}][value]">
@@ -325,8 +325,8 @@
                                                                                
<option value="{$id}">
                                                                                
        <xsl:value-of disable-output-escaping="yes" select="name"/>
                                                                                
</option>
-                                                               </xsl:otherwise>
-                                                       </xsl:choose>
+                                                                       
</xsl:otherwise>
+                                                               </xsl:choose>
                                                        </xsl:for-each>
                                                </select>
                                        </xsl:when>
@@ -350,7 +350,7 @@
                                                                <xsl:when 
test="nullable!='1'">
                                                                        
<xsl:attribute name="data-validation">
                                                                                
<xsl:text>required</xsl:text>
-                                                                               
</xsl:attribute>
+                                                                       
</xsl:attribute>
                                                                </xsl:when>
                                                        </xsl:choose>
                                                </input>
@@ -362,7 +362,7 @@
                                                                        
</xsl:attribute>
                                                                </xsl:when>
                                                        </xsl:choose>
-                                                                       </input>
+                                               </input>
                                        </xsl:when>
                                        <xsl:when test="datatype='custom3'">
                                                <xsl:variable name="custom_id">
@@ -395,8 +395,8 @@
                                                                        
<xsl:attribute name="disabled">
                                                                                
<xsl:text> disabled</xsl:text>
                                                                        
</xsl:attribute>
-                                               </xsl:when>
-                                       </xsl:choose>
+                                                               </xsl:when>
+                                                       </xsl:choose>
                                                </input>
                                                <div id="{$custom_container}"/>
                                        </xsl:when>
@@ -461,13 +461,13 @@
                                                </xsl:variable>
 
                                                <table>
-                                       <tr>
+                                                       <tr>
                                                                <td>
                                                                        <input 
type="text" id="values_attribute_{id}" 
name="values_attribute[{id}][value][date]" value="{value/date}" size="12" 
maxlength="12">
                                                                                
<xsl:attribute name="readonly">
                                                                                
        <xsl:text> readonly</xsl:text>
                                                                                
</xsl:attribute>
-                                                       <xsl:choose>
+                                                                               
<xsl:choose>
                                                                                
        <xsl:when test="disabled!=''">
                                                                                
                <xsl:attribute name="disabled">
                                                                                
                        <xsl:text> disabled</xsl:text>
@@ -538,7 +538,7 @@
                                                                <xsl:choose>
                                                                        
<xsl:when test="$textareacols!=''">
                                                                                
<xsl:value-of select="$textareacols"/>
-                                                               </xsl:when>
+                                                                       
</xsl:when>
                                                                        
<xsl:otherwise>
                                                                                
<xsl:text>60</xsl:text>
                                                                        
</xsl:otherwise>
@@ -548,18 +548,18 @@
                                                                <xsl:choose>
                                                                        
<xsl:when test="$textarearows!=''">
                                                                                
<xsl:value-of select="$textarearows"/>
-                                                               </xsl:when>
-                                                               <xsl:otherwise>
+                                                                       
</xsl:when>
+                                                                       
<xsl:otherwise>
                                                                                
<xsl:text>6</xsl:text>
-                                                               </xsl:otherwise>
-                                                       </xsl:choose>
-                                               </xsl:attribute>
-                                               <xsl:value-of select="value"/>
+                                                                       
</xsl:otherwise>
+                                                               </xsl:choose>
+                                                       </xsl:attribute>
+                                                       <xsl:value-of 
select="value"/>
                                                </textarea>
                                        </xsl:when>
                                        <xsl:when test="datatype='pwd'">
                                                <input type="password" 
name="values_attribute[{id}][value]" size="30">
-                                               <xsl:choose>
+                                                       <xsl:choose>
                                                                <xsl:when 
test="disabled!=''">
                                                                        
<xsl:attribute name="disabled">
                                                                                
<xsl:text> disabled</xsl:text>
@@ -776,6 +776,6 @@
                        </xsl:choose>
                        <xsl:value-of select="value"/>
                        <br></br>
-                               </xsl:for-each>                         
+               </xsl:for-each>
        </div>
 </xsl:template>

Modified: branches/dev-syncromind-2/preferences/inc/class.boadmin_acl.inc.php
===================================================================
--- branches/dev-syncromind-2/preferences/inc/class.boadmin_acl.inc.php 
2016-08-04 13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/preferences/inc/class.boadmin_acl.inc.php 
2016-08-04 13:57:01 UTC (rev 15422)
@@ -67,7 +67,7 @@
                                $this->start=0;
                        }
 
-                       if($acl_app && !$this->acl_app)
+                       if($acl_app)
                        {
                                $this->acl_app = $acl_app;
                        }

Modified: branches/dev-syncromind-2/property/inc/class.boadmin.inc.php
===================================================================
--- branches/dev-syncromind-2/property/inc/class.boadmin.inc.php        
2016-08-04 13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/property/inc/class.boadmin.inc.php        
2016-08-04 13:57:01 UTC (rev 15422)
@@ -67,7 +67,8 @@
                        $module = phpgw::get_var('module');
                        $granting_group = phpgw::get_var('granting_group', 
'int');
                        $allrows = phpgw::get_var('allrows', 'bool');
-                       $acl_app = 'property'; 
//get_var('acl_app',array('POST','GET'));
+                       $acl_app        = phpgw::get_var('acl_app', 'string', 
'REQUEST', 'property');
+                       $this->acl_app = $acl_app;
 
                        if ($start)
                        {
@@ -109,10 +110,6 @@
 
                        $this->allrows = $allrows ? $allrows : '';
 
-                       if (isset($acl_app))
-                       {
-                               $this->acl_app = $acl_app;
-                       }
                }
 
                function read_sessiondata()
@@ -261,7 +258,7 @@
                        {
                                $check_account_type = array('accounts');
                                $acl_account_type = 'accounts';
-                               $valid_users = 
$GLOBALS['phpgw']->acl->get_ids_for_location('run', phpgwapi_acl::READ, 
'property');
+                               $valid_users = 
$GLOBALS['phpgw']->acl->get_ids_for_location('run', phpgwapi_acl::READ, 
$this->acl_app);
                        }
                        else
                        {

Modified: branches/dev-syncromind-2/property/inc/class.boadmin_entity.inc.php
===================================================================
--- branches/dev-syncromind-2/property/inc/class.boadmin_entity.inc.php 
2016-08-04 13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/property/inc/class.boadmin_entity.inc.php 
2016-08-04 13:57:01 UTC (rev 15422)
@@ -420,7 +420,17 @@
                        {
                                $this->allrows = $data['allrows'];
                        }
-                       $attrib = 
$this->custom->find($this->type_app[$this->type], 
".{$this->type}.{$data['entity_id']}.{$data['cat_id']}", $data['start'], 
$data['query'], $data['sort'], $data['order'], $this->allrows);
+                       $attrib = $this->custom->find(
+                                       $this->type_app[$this->type],
+                                       
".{$this->type}.{$data['entity_id']}.{$data['cat_id']}",
+                                       $data['start'], $data['query'],
+                                       $data['sort'],
+                                       $data['order'],
+                                       $this->allrows,
+                                       false,
+                                       array(),
+                                       (int)$data['results']
+                       );
                        $this->total_records = $this->custom->total_records;
                        return $attrib;
                }

Modified: branches/dev-syncromind-2/property/inc/class.boadmin_location.inc.php
===================================================================
--- branches/dev-syncromind-2/property/inc/class.boadmin_location.inc.php       
2016-08-04 13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/property/inc/class.boadmin_location.inc.php       
2016-08-04 13:57:01 UTC (rev 15422)
@@ -285,7 +285,15 @@
                        }
 
                        $attrib = $this->custom->find(
-                               'property', '.location.' . $data['type_id'], 
$data['start'], $data['query'], $data['sort'], $data['order'], $data['allrows']
+                               'property',
+                               '.location.' . $data['type_id'],
+                               $data['start'], $data['query'],
+                               $data['sort'],
+                               $data['order'],
+                               $data['allrows'],
+                               false,
+                               array(),
+                               (int)$data['results']
                        );
                        $this->total_records = $this->custom->total_records;
 

Modified: branches/dev-syncromind-2/property/inc/class.bogeneric.inc.php
===================================================================
--- branches/dev-syncromind-2/property/inc/class.bogeneric.inc.php      
2016-08-04 13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/property/inc/class.bogeneric.inc.php      
2016-08-04 13:57:01 UTC (rev 15422)
@@ -45,7 +45,8 @@
                var $allrows;
                var $public_functions = array
                        (
-                       'get_autocomplete' => true
+                       'get_autocomplete'      => true,
+                       'get_single_name'       => true
                );
 
                function __construct( $session = false )
@@ -335,8 +336,16 @@
                function get_autocomplete()
                {
                        $this->get_location_info();
-                       $values = $this->read();
 
+                       $query = phpgw::get_var('query');
+
+                       $params = array(
+                               'results' => phpgw::get_var('length', 'int', 
'REQUEST', 10),
+                               'query' => $query,
+                       );
+
+                       $values = $this->read($params);
+
                        foreach ($values as &$entry)
                        {
                                if ($entry['parent_id'])
@@ -347,6 +356,23 @@
                        return array('ResultSet' => array('Result' => $values));
                }
 
+
+               public function get_single_name( $data = array() )
+               {
+                       $this->get_location_info($data['type']);
+                       $values = $this->so->read_single(array('id' => 
$data['id']));
+//                     $values['path'] = $values['name'];
+//                     if ($values['parent_id'])
+//                     {
+//                             $path = $this->so->get_path(array('type' => 
$data['type'], 'id' => $values['parent_id']));
+//                             if ($path)
+//                             {
+//                                     $values['path'] .= '::' . implode(' > 
', $path);
+//                             }
+//                     }
+                       return $values['name'];
+               }
+
                public function edit_field( $data = array() )
                {
                        return $this->so->edit_field($data);

Modified: branches/dev-syncromind-2/property/inc/class.custom_fields.inc.php
===================================================================
--- branches/dev-syncromind-2/property/inc/class.custom_fields.inc.php  
2016-08-04 13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/property/inc/class.custom_fields.inc.php  
2016-08-04 13:57:01 UTC (rev 15422)
@@ -96,14 +96,14 @@
 
                                if (!$view_only && $attributes['history'])
                                {
-                                       
$GLOBALS['phpgw']->jqcal->add_listener("values_attribute_{$i}_date");
+                                       
$GLOBALS['phpgw']->jqcal->add_listener("values_attribute_{$attributes['id']}_date");
                                }
 
                                if ($attributes['datatype'] == 'D' || 
$attributes['datatype'] == 'DT' || $attributes['datatype'] == 'date' || 
$attributes['datatype'] == 'timestamp')
                                {
                                        if (!$view_only)
                                        {
-                                               
$GLOBALS['phpgw']->jqcal->add_listener('values_attribute_' . $i);
+                                               
$GLOBALS['phpgw']->jqcal->add_listener("values_attribute_{$attributes['id']}");
                                                $attributes['lang_datetitle'] = 
lang('Select date');
                                        }
 
@@ -115,8 +115,8 @@
                                                $clear_functions[$m]['action'] 
= <<<JS
                                                        
if(confirm("{$confirm_msg}"))
                                                        {
-                                                               var 
attribute_{$i}_date = document.getElementById('values_attribute_{$i}');
-                                                               
attribute_{$i}_date.value = '';
+                                                               var 
attribute_{$attributes['id']}_date = 
document.getElementById('values_attribute_{$attributes['id']}');
+                                                               
attribute_{$attributes['id']}_date.value = '';
                                                        }
 JS;
                                                $m++;
@@ -128,12 +128,12 @@
                                                $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 = '';
-                                                               
attribute_{$i}_hour.value = '';
-                                                               
attribute_{$i}_min.value = '';
+                                                               var 
attribute_{$attributes['id']}_date = 
document.getElementById('values_attribute_{$attributes['id']}');
+                                                               var 
attribute_{$attributes['id']}_hour = 
document.getElementById('values_attribute_{$attributes['id']}_hour');
+                                                               var 
attribute_{$attributes['id']}_min = 
document.getElementById('values_attribute_{$attributes['id']}_min');
+                                                               
attribute_{$attributes['id']}_date.value = '';
+                                                               
attribute_{$attributes['id']}_hour.value = '';
+                                                               
attribute_{$attributes['id']}_min.value = '';
                                                        }
 JS;
                                                $m++;
@@ -293,8 +293,12 @@
                                {
                                        if ($attributes['value'] && 
$attributes['get_single_function'])
                                        {
-                                               if 
(!$attributes['get_single_function_input'])
+                                               if 
($attributes['get_single_function_input'] && 
is_array($attributes['get_single_function_input']))
                                                {
+                                                       
$attributes['get_single_function_input'] = 
array_merge(array('id'=>$attributes['value']),$attributes['get_single_function_input']);
+                                               }
+                                               else
+                                               {
                                                        
$attributes['get_single_function_input'] = $attributes['value'];
                                                }
                                                $attributes['custom_name'] = 
execMethod($attributes['get_single_function'], 
$attributes['get_single_function_input']);

Modified: branches/dev-syncromind-2/property/inc/class.menu.inc.php
===================================================================
--- branches/dev-syncromind-2/property/inc/class.menu.inc.php   2016-08-04 
13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/property/inc/class.menu.inc.php   2016-08-04 
13:57:01 UTC (rev 15422)
@@ -817,7 +817,6 @@
                                $config = CreateObject('phpgwapi.config', 
'property');
                                $config->read();
 
-                               $invoicehandler = 
isset($config->config_data['invoicehandler']) && 
$config->config_data['invoicehandler'] == 2 ? 'uiinvoice2' : 'uiinvoice';
 
                                if 
(!isset($config->config_data['suppress_tenant']) || 
!$config->config_data['suppress_tenant'])
                                {
@@ -1015,6 +1014,7 @@
 
                        if ($acl->check('.invoice', PHPGW_ACL_READ, 'property'))
                        {
+                               $invoicehandler = 
isset($config->config_data['invoicehandler']) && 
$config->config_data['invoicehandler'] == 2 ? 'uiinvoice2' : 'uiinvoice';
                                $children = array();
                                $children_invoice = array();
                                if ($acl->check('.invoice', PHPGW_ACL_PRIVATE, 
'property'))
@@ -1152,13 +1152,16 @@
                                }
                        }
 
-                       $menus['navigation']['economy'] = array
-                               (
-                               'url' => $GLOBALS['phpgw']->link('/index.php', 
array('menuaction' => "property.{$invoicehandler}.index")),
-                               'text' => lang('economy'),
-                               'image' => array('property', 'invoice'),
-                               'children' => array_merge($invoice, $budget)
-                       );
+                       if($invoice || $budget)
+                       {
+                               $menus['navigation']['economy'] = array
+                                       (
+                                       'url' => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
"property.{$invoicehandler}.index")),
+                                       'text' => lang('economy'),
+                                       'image' => array('property', 'invoice'),
+                                       'children' => array_merge($invoice, 
$budget)
+                               );
+                       }
 
                        if ($acl->check('.agreement', PHPGW_ACL_READ, 
'property'))
                        {

Modified: branches/dev-syncromind-2/property/inc/class.sojasper.inc.php
===================================================================
--- branches/dev-syncromind-2/property/inc/class.sojasper.inc.php       
2016-08-04 13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/property/inc/class.sojasper.inc.php       
2016-08-04 13:57:01 UTC (rev 15422)
@@ -107,7 +107,7 @@
                        }
                        if($public_user_list && !$public_group_list)
                        {
-                               $filtermethod .=')';
+                               $filtermethod .='))';
                        }
 
                        if ($query)

Modified: branches/dev-syncromind-2/property/inc/class.uiadmin.inc.php
===================================================================
--- branches/dev-syncromind-2/property/inc/class.uiadmin.inc.php        
2016-08-04 13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/property/inc/class.uiadmin.inc.php        
2016-08-04 13:57:01 UTC (rev 15422)
@@ -45,6 +45,7 @@
                var $permission;
                var $sub;
                var $currentapp;
+               var $acl_app;
                var $public_functions = array
                        (
                        'list_acl' => true,
@@ -62,18 +63,18 @@
                        $this->account = 
$GLOBALS['phpgw_info']['user']['account_id'];
 
                        $this->bo = CreateObject('property.boadmin', true);
-                       $this->bopreferences = 
createObject('preferences.boadmin_acl', true);
+                       $this->acl_app  = $this->bo->acl_app;
+                       $this->bopreferences = 
createObject('preferences.boadmin_acl');
                        $this->bocommon = CreateObject('property.bocommon');
 
                        $this->acl = & $GLOBALS['phpgw']->acl;
                        $this->acl_location = '.admin';
-                       $this->acl_read = 
$this->acl->check($this->acl_location, PHPGW_ACL_READ, 'property');
-                       $this->acl_add = $this->acl->check($this->acl_location, 
PHPGW_ACL_ADD, 'property');
-                       $this->acl_edit = 
$this->acl->check($this->acl_location, PHPGW_ACL_EDIT, 'property');
-                       $this->acl_delete = 
$this->acl->check($this->acl_location, PHPGW_ACL_DELETE, 'property');
-                       $this->acl_manage = 
$this->acl->check($this->acl_location, 16, 'property');
+                       $this->acl_read = 
$this->acl->check($this->acl_location, PHPGW_ACL_READ, $this->acl_app);
+                       $this->acl_add = $this->acl->check($this->acl_location, 
PHPGW_ACL_ADD, $this->acl_app);
+                       $this->acl_edit = 
$this->acl->check($this->acl_location, PHPGW_ACL_EDIT, $this->acl_app);
+                       $this->acl_delete = 
$this->acl->check($this->acl_location, PHPGW_ACL_DELETE, $this->acl_app);
+                       $this->acl_manage = 
$this->acl->check($this->acl_location, 16, $this->acl_app);
 
-                       //              $this->acl_app                          
= $this->bo->acl_app;
                        $this->start = $this->bo->start;
                        $this->query = $this->bo->query;
                        $this->sort = $this->bo->sort;
@@ -116,7 +117,6 @@
 
                        $values = phpgw::get_var('values');
                        $r_processed = phpgw::get_var('processed');
-                       //              $acl_app                        = 
get_var('acl_app',array('GET'));
                        $set_permission = phpgw::get_var('set_permission', 
'bool');
 
                        if ($set_permission)
@@ -228,7 +228,7 @@
                                'query' => $this->query,
                                'module' => $this->location,
                                'granting_group' => $this->granting_group,
-                               'acl_app' => $acl_app
+                               'acl_app' => $this->acl_app
                        );
 
                        if (!$this->location)
@@ -252,6 +252,7 @@
                                (
                                'msgbox_data' => 
$GLOBALS['phpgw']->common->msgbox($msgbox_data),
                                'form_action' => 
$GLOBALS['phpgw']->link('/index.php', $link_data),
+                               'value_acl_app' => $this->acl_app,
                                'done_action' => 
$GLOBALS['phpgw']->link('/preferences/index.php'),
                                'lang_save' => lang('save'),
                                'lang_done' => lang('done'),
@@ -262,7 +263,7 @@
                                'record_limit' => 
$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'],
                                'num_records' => $num_records,
                                'all_records' => 
(isset($this->bo->total_records) ? $this->bo->total_records : ''),
-                               'link_url' => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'property.uiadmin.aclprefs')),
+                               'link_url' => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'property.uiadmin.aclprefs', 'acl_app' => $this->acl_app)),
                                'img_path' => 
$GLOBALS['phpgw']->common->get_image_path('phpgwapi', 'default'),
                                'lang_groups' => lang('groups'),
                                'lang_users' => lang('users'),
@@ -298,7 +299,7 @@
                        $function_msg = lang('set grants');
                        $owner_name = 
$GLOBALS['phpgw']->accounts->id2name($this->account);  // get owner name for 
title
 
-                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('property') . ' - ' . $appname . ': ' . $function_msg . ': ' . $owner_name;
+                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang($this->acl_app) . ' - ' . $appname . ': ' . $function_msg . ': ' . 
$owner_name;
                        $GLOBALS['phpgw']->xslttpl->set_var('phpgw', 
array('list_permission' => $data));
                        $this->save_sessiondata();
                }
@@ -562,7 +563,7 @@
                        $appname = lang('permission');
                        $function_msg = lang('set permission');
 
-                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('property') . ' - ' . $appname . ': ' . $function_msg;
+                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang($this->acl_app) . ' - ' . $appname . ': ' . $function_msg;
                        $GLOBALS['phpgw']->xslttpl->set_var('phpgw', 
array('list_permission' => $data));
                        $this->save_sessiondata();
                }

Modified: branches/dev-syncromind-2/property/inc/class.uitts.inc.php
===================================================================
--- branches/dev-syncromind-2/property/inc/class.uitts.inc.php  2016-08-04 
13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/property/inc/class.uitts.inc.php  2016-08-04 
13:57:01 UTC (rev 15422)
@@ -1939,7 +1939,7 @@
                                $need_approval = 
isset($this->bo->config->config_data['workorder_approval']) ? 
$this->bo->config->config_data['workorder_approval'] : '';
 
                                $supervisor_email = 
$this->get_supervisor_email($supervisor_id,  $need_approval);
-                               // approval                                     
+                               // approval
                        }
 
                        $vendor_email = array();
@@ -2671,7 +2671,7 @@
                                );
                                $cat_select['disabled'] = true;
                                $cat_select['hidden_value'] = $ticket['cat_id'];
-//_debug_array($cat_select);die();                     
+//_debug_array($cat_select);die();
                        }
 
 
@@ -3339,7 +3339,7 @@
                        $pdf->ezText($ticket['order_descr'], 14);
                        $pdf->ezSetDy(-20);
                        $pdf->selectFont(PHPGW_API_INC . 
'/pdf/fonts/Helvetica-Bold.afm');
-                       $pdf->ezText('Kontakt på bygget:', 14);
+                       $pdf->ezText('Kontakt på bygget:', 14);
                        $pdf->selectFont(PHPGW_API_INC . 
'/pdf/fonts/Helvetica.afm');
                        $pdf->ezText($contact_name, 14);
                        $pdf->ezText($contact_email, 14);
@@ -3347,7 +3347,7 @@
                        $pdf->ezSetDy(-20);
 
                        $pdf->selectFont(PHPGW_API_INC . 
'/pdf/fonts/Helvetica-Bold.afm');
-                       $pdf->ezText("Faktura må merkes med ordrenummer: 
{$ticket['order_id']} og ressursnr.:{$ressursnr}", 14);
+                       $pdf->ezText("Faktura må merkes med ordrenummer: 
{$ticket['order_id']} og ressursnr.:{$ressursnr}", 14);
                        $pdf->selectFont(PHPGW_API_INC . 
'/pdf/fonts/Helvetica.afm');
                        if ($content)
                        {
@@ -3422,7 +3422,7 @@
                }
 
                /**
-                * 
+                *
                 */
                private function _insert_custom_js()
                {

Modified: branches/dev-syncromind-2/property/templates/base/admin.xsl
===================================================================
--- branches/dev-syncromind-2/property/templates/base/admin.xsl 2016-08-04 
13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/property/templates/base/admin.xsl 2016-08-04 
13:57:01 UTC (rev 15422)
@@ -99,11 +99,9 @@
                                                </xsl:variable>
                                                <INPUT type="hidden" 
name="location" value="{$location}"/>
                                                <INPUT type="hidden" 
name="processed" value="{$processed}"/>
-                                               <input type="submit" 
name="set_permission" value="{$lang_save}" onMouseout="window.status='';return 
true;">
-                                                       <xsl:attribute 
name="onMouseover">
-                                                               
<xsl:text>window.status='</xsl:text>
+                                               <input type="submit" 
name="set_permission" value="{$lang_save}">
+                                                       <xsl:attribute 
name="title">
                                                                <xsl:value-of 
select="lang_save_statustext"/>
-                                                               <xsl:text>'; 
return true;</xsl:text>
                                                        </xsl:attribute>
                                                </input>
                                        </td>

Modified: branches/dev-syncromind-2/property/templates/base/admin_entity.xsl
===================================================================
--- branches/dev-syncromind-2/property/templates/base/admin_entity.xsl  
2016-08-04 13:53:25 UTC (rev 15421)
+++ branches/dev-syncromind-2/property/templates/base/admin_entity.xsl  
2016-08-04 13:57:01 UTC (rev 15422)
@@ -1,435 +1,435 @@
 
 <!-- $Id$ -->
 <xsl:template match="data">
-               <xsl:choose>
-                       <xsl:when test="edit">
-                               <xsl:apply-templates select="edit"/>
-                       </xsl:when>
-                       <xsl:when test="list_attribute">
-                               <xsl:apply-templates select="list_attribute"/>
-                       </xsl:when>
-                       <xsl:when test="list_attribute_group">
-                               <xsl:apply-templates 
select="list_attribute_group"/>
-                       </xsl:when>
-                       <xsl:when test="edit_attrib_group">
-                               <xsl:apply-templates 
select="edit_attrib_group"/>
-                       </xsl:when>
-                       <xsl:when test="edit_attrib">
-                               <xsl:apply-templates select="edit_attrib"/>
-                       </xsl:when>
-                       <xsl:when test="list_config">
-                               <xsl:apply-templates select="list_config"/>
-                       </xsl:when>
-                       <xsl:when test="edit_config">
-                               <xsl:apply-templates select="edit_config"/>
-                       </xsl:when>
-                       <xsl:when test="list_category">
-                               <xsl:apply-templates select="list_category"/>
-                       </xsl:when>
-                       <xsl:when test="list_custom_function">
-                               <xsl:apply-templates 
select="list_custom_function"/>
-                       </xsl:when>
-                       <xsl:when test="edit_custom_function">
-                               <xsl:apply-templates 
select="edit_custom_function"/>
-                       </xsl:when>
-                       <xsl:otherwise>
-                               <xsl:apply-templates select="list"/>
-                       </xsl:otherwise>
-               </xsl:choose>
+       <xsl:choose>
+               <xsl:when test="edit">
+                       <xsl:apply-templates select="edit"/>
+               </xsl:when>
+               <xsl:when test="list_attribute">
+                       <xsl:apply-templates select="list_attribute"/>
+               </xsl:when>
+               <xsl:when test="list_attribute_group">
+                       <xsl:apply-templates select="list_attribute_group"/>
+               </xsl:when>
+               <xsl:when test="edit_attrib_group">
+                       <xsl:apply-templates select="edit_attrib_group"/>
+               </xsl:when>
+               <xsl:when test="edit_attrib">
+                       <xsl:apply-templates select="edit_attrib"/>
+               </xsl:when>
+               <xsl:when test="list_config">
+                       <xsl:apply-templates select="list_config"/>
+               </xsl:when>
+               <xsl:when test="edit_config">
+                       <xsl:apply-templates select="edit_config"/>
+               </xsl:when>
+               <xsl:when test="list_category">
+                       <xsl:apply-templates select="list_category"/>
+               </xsl:when>
+               <xsl:when test="list_custom_function">
+                       <xsl:apply-templates select="list_custom_function"/>
+               </xsl:when>
+               <xsl:when test="edit_custom_function">
+                       <xsl:apply-templates select="edit_custom_function"/>
+               </xsl:when>
+               <xsl:otherwise>
+                       <xsl:apply-templates select="list"/>
+               </xsl:otherwise>
+       </xsl:choose>
 </xsl:template>
 
 <!-- New template-->
 <xsl:template match="list">
-               <xsl:apply-templates select="menu"/>
+       <xsl:apply-templates select="menu"/>
        <table class="pure-table pure-table-bordered">
-                       <tr>
-                               <td align="right">
-                                       <xsl:call-template name="search_field"/>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td colspan="3" width="100%">
-                                       <xsl:call-template name="nextmatchs"/>
-                               </td>
-                       </tr>
-               </table>
-               <table width="100%" cellpadding="2" cellspacing="2" 
align="center">
-                       <xsl:apply-templates select="table_header"/>
-                       <xsl:apply-templates select="values"/>
-                       <xsl:apply-templates select="table_add"/>
-               </table>
+               <tr>
+                       <td align="right">
+                               <xsl:call-template name="search_field"/>
+                       </td>
+               </tr>
+               <tr>
+                       <td colspan="3" width="100%">
+                               <xsl:call-template name="nextmatchs"/>
+                       </td>
+               </tr>
+       </table>
+       <table width="100%" cellpadding="2" cellspacing="2" align="center">
+               <xsl:apply-templates select="table_header"/>
+               <xsl:apply-templates select="values"/>
+               <xsl:apply-templates select="table_add"/>
+       </table>
 </xsl:template>
 
 <!-- New template-->
 <xsl:template match="table_header">
-               <xsl:variable name="sort_id">
-                       <xsl:value-of select="sort_id"/>
-               </xsl:variable>
-               <xsl:variable name="sort_name">
-                       <xsl:value-of select="sort_name"/>
-               </xsl:variable>
-               <tr class="th">
-                       <td class="th_text" width="10%" align="right">
-                               <a href="{$sort_id}">
-                                       <xsl:value-of select="lang_id"/>
-                               </a>
-                       </td>
-                       <td class="th_text" width="10%" align="center">
-                               <a href="{$sort_name}">
-                                       <xsl:value-of select="lang_name"/>
-                               </a>
-                       </td>
-                       <td class="th_text" width="20%" align="center">
-                               <xsl:value-of select="lang_descr"/>
-                       </td>
-                       <td class="th_text" width="5%" align="center">
-                               <xsl:value-of select="lang_categories"/>
-                       </td>
-                       <td class="th_text" width="5%" align="center">
-                               <xsl:value-of select="lang_edit"/>
-                       </td>
-                       <td class="th_text" width="5%" align="center">
-                               <xsl:value-of select="lang_delete"/>
-                       </td>
-               </tr>
+       <xsl:variable name="sort_id">
+               <xsl:value-of select="sort_id"/>
+       </xsl:variable>
+       <xsl:variable name="sort_name">
+               <xsl:value-of select="sort_name"/>
+       </xsl:variable>
+       <tr class="th">
+               <td class="th_text" width="10%" align="right">
+                       <a href="{$sort_id}">
+                               <xsl:value-of select="lang_id"/>
+                       </a>
+               </td>
+               <td class="th_text" width="10%" align="center">
+                       <a href="{$sort_name}">
+                               <xsl:value-of select="lang_name"/>
+                       </a>
+               </td>
+               <td class="th_text" width="20%" align="center">
+                       <xsl:value-of select="lang_descr"/>
+               </td>
+               <td class="th_text" width="5%" align="center">
+                       <xsl:value-of select="lang_categories"/>
+               </td>
+               <td class="th_text" width="5%" align="center">
+                       <xsl:value-of select="lang_edit"/>
+               </td>
+               <td class="th_text" width="5%" align="center">
+                       <xsl:value-of select="lang_delete"/>
+               </td>
+       </tr>
 </xsl:template>
 
 <!-- New template-->
 <xsl:template match="values">
-               <xsl:variable name="lang_attribute_standardtext">
-                       <xsl:value-of select="lang_delete_standardtext"/>
-               </xsl:variable>
-               <xsl:variable name="lang_edit_standardtext">
-                       <xsl:value-of select="lang_edit_standardtext"/>
-               </xsl:variable>
-               <xsl:variable name="lang_delete_standardtext">
-                       <xsl:value-of select="lang_delete_standardtext"/>
-               </xsl:variable>
+       <xsl:variable name="lang_attribute_standardtext">
+               <xsl:value-of select="lang_delete_standardtext"/>
+       </xsl:variable>
+       <xsl:variable name="lang_edit_standardtext">
+               <xsl:value-of select="lang_edit_standardtext"/>
+       </xsl:variable>
+       <xsl:variable name="lang_delete_standardtext">
+               <xsl:value-of select="lang_delete_standardtext"/>
+       </xsl:variable>
+       <tr>
+               <xsl:attribute name="class">
+                       <xsl:choose>
+                               <xsl:when test="@class">
+                                       <xsl:value-of select="@class"/>
+                               </xsl:when>
+                               <xsl:when test="position() mod 2 = 0">
+                                       <xsl:text>row_off</xsl:text>
+                               </xsl:when>
+                               <xsl:otherwise>
+                                       <xsl:text>row_on</xsl:text>
+                               </xsl:otherwise>
+                       </xsl:choose>
+               </xsl:attribute>
+               <td align="right">
+                       <xsl:value-of select="id"/>
+               </td>
+               <td align="left">
+                       <xsl:value-of select="name"/>
+               </td>
+               <td align="left">
+                       <xsl:value-of select="descr"/>
+               </td>
+               <td align="center">
+                       <xsl:variable name="link_categories">
+                               <xsl:value-of select="link_categories"/>
+                       </xsl:variable>
+                       <a href="{$link_categories}" 
onMouseover="window.status='{lang_category_text}';return true;" 
onMouseout="window.status='';return true;">
+                               <xsl:value-of select="text_categories"/>
+                       </a>
+               </td>
+               <td align="center">
+                       <xsl:variable name="link_edit">
+                               <xsl:value-of select="link_edit"/>
+                       </xsl:variable>
+                       <a href="{$link_edit}" 
onMouseover="window.status='{$lang_edit_standardtext}';return true;" 
onMouseout="window.status='';return true;">
+                               <xsl:value-of select="text_edit"/>
+                       </a>
+               </td>
+               <td align="center">
+                       <xsl:variable name="link_delete">
+                               <xsl:value-of select="link_delete"/>
+                       </xsl:variable>
+                       <a href="{$link_delete}" 
onMouseover="window.status='{$lang_delete_standardtext}';return true;" 
onMouseout="window.status='';return true;">
+                               <xsl:value-of select="text_delete"/>
+                       </a>
+               </td>
+       </tr>
+</xsl:template>
+
+<!-- New template-->
+<xsl:template match="list_category">
+       <xsl:apply-templates select="menu"/>
+       <table class="pure-table pure-table-bordered">
                <tr>
-                       <xsl:attribute name="class">
-                               <xsl:choose>
-                                       <xsl:when test="@class">
-                                               <xsl:value-of select="@class"/>
-                                       </xsl:when>
-                                       <xsl:when test="position() mod 2 = 0">
-                                               <xsl:text>row_off</xsl:text>
-                                       </xsl:when>
-                                       <xsl:otherwise>
-                                               <xsl:text>row_on</xsl:text>
-                                       </xsl:otherwise>
-                               </xsl:choose>
-                       </xsl:attribute>
                        <td align="right">
-                               <xsl:value-of select="id"/>
+                               <xsl:call-template name="search_field"/>
                        </td>
-                       <td align="left">
-                               <xsl:value-of select="name"/>
+               </tr>
+               <tr>
+                       <td class="th_text" align="left">
+                               <xsl:value-of select="lang_entity"/>
+                               <xsl:text>: </xsl:text>
+                               <xsl:value-of select="entity_name"/>
                        </td>
-                       <td align="left">
-                               <xsl:value-of select="descr"/>
+               </tr>
+               <tr>
+                       <td colspan="3" width="100%">
+                               <xsl:call-template name="nextmatchs"/>
                        </td>
-                       <td align="center">
-                               <xsl:variable name="link_categories">
-                                       <xsl:value-of select="link_categories"/>
-                               </xsl:variable>
-                               <a href="{$link_categories}" 
onMouseover="window.status='{lang_category_text}';return true;" 
onMouseout="window.status='';return true;">
-                                       <xsl:value-of select="text_categories"/>
-                               </a>
-                       </td>
-                       <td align="center">
-                               <xsl:variable name="link_edit">
-                                       <xsl:value-of select="link_edit"/>
-                               </xsl:variable>
-                               <a href="{$link_edit}" 
onMouseover="window.status='{$lang_edit_standardtext}';return true;" 
onMouseout="window.status='';return true;">
-                                       <xsl:value-of select="text_edit"/>
-                               </a>
-                       </td>
-                       <td align="center">
-                               <xsl:variable name="link_delete">
-                                       <xsl:value-of select="link_delete"/>
-                               </xsl:variable>
-                               <a href="{$link_delete}" 
onMouseover="window.status='{$lang_delete_standardtext}';return true;" 
onMouseout="window.status='';return true;">
-                                       <xsl:value-of select="text_delete"/>
-                               </a>
-                       </td>
                </tr>
+       </table>
+       <table class="pure-table pure-table-bordered">
+               <xsl:apply-templates select="table_header_category"/>
+               <xsl:apply-templates select="values_category"/>
+               <xsl:apply-templates select="table_add"/>
+       </table>
 </xsl:template>
 
 <!-- New template-->
-<xsl:template match="list_category">
-               <xsl:apply-templates select="menu"/>
-       <table class="pure-table pure-table-bordered">
-                       <tr>
-                               <td align="right">
-                                       <xsl:call-template name="search_field"/>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td class="th_text" align="left">
-                                       <xsl:value-of select="lang_entity"/>
-                                       <xsl:text>: </xsl:text>
-                                       <xsl:value-of select="entity_name"/>
-                               </td>
-                       </tr>
-                       <tr>
-                               <td colspan="3" width="100%">
-                                       <xsl:call-template name="nextmatchs"/>
-                               </td>
-                       </tr>
-               </table>
-       <table class="pure-table pure-table-bordered">
-                       <xsl:apply-templates select="table_header_category"/>
-                       <xsl:apply-templates select="values_category"/>
-                       <xsl:apply-templates select="table_add"/>
-               </table>
+<xsl:template match="table_header_category">
+       <xsl:variable name="sort_id">
+               <xsl:value-of select="sort_id"/>
+       </xsl:variable>
+       <xsl:variable name="sort_name">
+               <xsl:value-of select="sort_name"/>
+       </xsl:variable>
+       <tr class="th">
+               <td class="th_text" width="5%" align="right">
+                       <a href="{$sort_id}">
+                               <xsl:value-of select="lang_id"/>
+                       </a>
+               </td>
+               <td class="th_text" width="10%" align="center">
+                       <a href="{$sort_name}">
+                               <xsl:value-of select="lang_name"/>
+                       </a>
+               </td>
+               <td class="th_text" width="20%" align="center">
+                       <xsl:value-of select="lang_descr"/>
+               </td>
+               <td class="th_text" width="5%" align="center">
+                       <xsl:value-of select="lang_prefix"/>
+               </td>
+               <td class="th_text" width="5%" align="center">
+                       <xsl:value-of select="lang_attribute_group"/>
+               </td>
+               <td class="th_text" width="5%" align="center">
+                       <xsl:value-of select="lang_attribute"/>
+               </td>
+               <td class="th_text" width="5%" align="center">
+                       <xsl:value-of select="lang_custom_function"/>
+               </td>
+               <td class="th_text" width="5%" align="center">
+                       <xsl:value-of select="lang_edit"/>
+               </td>
+               <td class="th_text" width="5%" align="center">
+                       <xsl:value-of select="lang_delete"/>
+               </td>
+       </tr>
 </xsl:template>
 
 <!-- New template-->
-<xsl:template match="table_header_category">
-               <xsl:variable name="sort_id">
-                       <xsl:value-of select="sort_id"/>
-               </xsl:variable>
-               <xsl:variable name="sort_name">
-                       <xsl:value-of select="sort_name"/>
-               </xsl:variable>
-               <tr class="th">
-                       <td class="th_text" width="5%" align="right">
-                               <a href="{$sort_id}">
-                                       <xsl:value-of select="lang_id"/>
-                               </a>
-                       </td>
-                       <td class="th_text" width="10%" align="center">
-                               <a href="{$sort_name}">
-                                       <xsl:value-of select="lang_name"/>
-                               </a>
-                       </td>
-                       <td class="th_text" width="20%" align="center">
-                               <xsl:value-of select="lang_descr"/>
-                       </td>
-                       <td class="th_text" width="5%" align="center">
-                               <xsl:value-of select="lang_prefix"/>
-                       </td>
-                       <td class="th_text" width="5%" align="center">
-                               <xsl:value-of select="lang_attribute_group"/>
-                       </td>
-                       <td class="th_text" width="5%" align="center">
-                               <xsl:value-of select="lang_attribute"/>
-                       </td>
-                       <td class="th_text" width="5%" align="center">
-                               <xsl:value-of select="lang_custom_function"/>
-                       </td>
-                       <td class="th_text" width="5%" align="center">
-                               <xsl:value-of select="lang_edit"/>
-                       </td>
-                       <td class="th_text" width="5%" align="center">
-                               <xsl:value-of select="lang_delete"/>
-                       </td>
-               </tr>
+<xsl:template match="values_category">
+       <xsl:variable name="lang_attribute_standardtext">
+               <xsl:value-of select="lang_attribute_standardtext"/>
+       </xsl:variable>
+       <xsl:variable name="lang_custom_function_standardtext">
+               <xsl:value-of select="lang_custom_function_standardtext"/>
+       </xsl:variable>
+       <xsl:variable name="lang_edit_standardtext">
+               <xsl:value-of select="lang_edit_standardtext"/>
+       </xsl:variable>
+       <xsl:variable name="lang_delete_standardtext">
+               <xsl:value-of select="lang_delete_standardtext"/>
+       </xsl:variable>
+       <tr>
+               <xsl:attribute name="class">
+                       <xsl:choose>
+                               <xsl:when test="@class">
+                                       <xsl:value-of select="@class"/>
+                               </xsl:when>
+                               <xsl:when test="position() mod 2 = 0">
+                                       <xsl:text>row_off</xsl:text>
+                               </xsl:when>
+                               <xsl:otherwise>
+                                       <xsl:text>row_on</xsl:text>
+                               </xsl:otherwise>
+                       </xsl:choose>
+               </xsl:attribute>
+               <td align="right">
+                       <xsl:value-of select="id"/>
+               </td>
+               <td align="left">
+                       <xsl:value-of select="name"/>
+               </td>
+               <td align="left">
+                       <xsl:value-of select="descr"/>
+               </td>
+               <td align="left">
+                       <xsl:value-of select="prefix"/>
+               </td>
+               <td align="center">
+                       <xsl:variable name="link_attribute_group">
+                               <xsl:value-of select="link_attribute_group"/>
+                       </xsl:variable>
+                       <a href="{$link_attribute_group}" 
onMouseover="window.status='';return true;" onMouseout="window.status='';return 
true;">
+                               <xsl:value-of select="text_attribute_group"/>
+                       </a>
+               </td>
+               <td align="center">
+                       <xsl:variable name="link_attribute">
+                               <xsl:value-of select="link_attribute"/>
+                       </xsl:variable>
+                       <a href="{$link_attribute}" 
onMouseover="window.status='{$lang_attribute_standardtext}';return true;" 
onMouseout="window.status='';return true;">
+                               <xsl:value-of select="text_attribute"/>
+                       </a>
+               </td>
+               <td align="center">
+                       <xsl:variable name="link_custom_function">

@@ Diff output truncated at 153600 characters. @@



reply via email to

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