fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [16325] Stable: Merge 16323:16324 from trunk


From: sigurdne
Subject: [Fmsystem-commits] [16325] Stable: Merge 16323:16324 from trunk
Date: Thu, 16 Feb 2017 12:04:49 -0500 (EST)

Revision: 16325
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=16325
Author:   sigurdne
Date:     2017-02-16 12:04:49 -0500 (Thu, 16 Feb 2017)
Log Message:
-----------
Stable: Merge 16323:16324 from trunk

Modified Paths:
--------------
    branches/Version-2_0-branch/property/inc/class.boworkorder.inc.php
    branches/Version-2_0-branch/property/inc/class.soworkorder.inc.php
    branches/Version-2_0-branch/property/inc/class.uiworkorder.inc.php
    branches/Version-2_0-branch/property/templates/base/workorder.xsl

Property Changed:
----------------
    branches/Version-2_0-branch/

Index: branches/Version-2_0-branch
===================================================================
--- branches/Version-2_0-branch 2017-02-16 17:03:46 UTC (rev 16324)
+++ branches/Version-2_0-branch 2017-02-16 17:04:49 UTC (rev 16325)

Property changes on: branches/Version-2_0-branch
___________________________________________________________________
Modified: svn:mergeinfo
## -1,4 +1,4 ##
 /branches/dev-syncromind:13653
 /branches/dev-syncromind-2:14933-16300
 /branches/stavangerkommune:12743-12875,12986
-/trunk:14721-14732,14734-14735,14737,14739,14741,14743-14744,14746-14749,14751,14753,14755-14757,14759,14761-14764,14766-14768,14770-14783,14785-14792,14794-14813,14815-14816,14818,14820-14822,14824-14825,14827-14829,14831-14834,14836,14838,14840-14842,14844-14845,14847,14849-14866,14868-14869,14871,14873-14875,14877-14878,14880-14884,14886-14896,14898,14900-14902,14904,14906-14909,14911-14915,14917-14919,14921-14922,14924-14978,14980-15258,15260-15261,15263-15264,15266-15285,15287-15288,15290-15291,15293,15295,15297,15299-15305,15307-15310,15312-15335,15337-15352,15354,15356,15358,15360-15541,15543-15566,15568-15569,15571,15573-15581,15583,15585-15617,15619,15621-15630,15632-15635,15637-15639,15641-15643,15645,15647-15665,15667-15668,15670-15671,15673-15693,15695-15712,15714-15764,15766-15767,15769-15787,15789-15802,15804-15811,15813-15814,15816-15818,15820-15849,15851-15887,15889-15900,15902-16046,16048-16051,16053,16055,16057-16063,16065-16071,16073-16077,16079-16081,16083-16099,16101-16130,16132-16140,16142,16144-16212,16214-16219,16221,16223-16224,16226,16228-16229,16231,16233,16235,16237,16239-16240,16242,16244-16246,16248,16250-16251,16253-16255,16257-16259,16261,16263,16265,16267,16269-16276,16278,16280-16283,16285,16287-16288,16290,16292-16295,16297-16305,16307-16314,16316-16318,16320-16322
\ No newline at end of property
+/trunk:14721-14732,14734-14735,14737,14739,14741,14743-14744,14746-14749,14751,14753,14755-14757,14759,14761-14764,14766-14768,14770-14783,14785-14792,14794-14813,14815-14816,14818,14820-14822,14824-14825,14827-14829,14831-14834,14836,14838,14840-14842,14844-14845,14847,14849-14866,14868-14869,14871,14873-14875,14877-14878,14880-14884,14886-14896,14898,14900-14902,14904,14906-14909,14911-14915,14917-14919,14921-14922,14924-14978,14980-15258,15260-15261,15263-15264,15266-15285,15287-15288,15290-15291,15293,15295,15297,15299-15305,15307-15310,15312-15335,15337-15352,15354,15356,15358,15360-15541,15543-15566,15568-15569,15571,15573-15581,15583,15585-15617,15619,15621-15630,15632-15635,15637-15639,15641-15643,15645,15647-15665,15667-15668,15670-15671,15673-15693,15695-15712,15714-15764,15766-15767,15769-15787,15789-15802,15804-15811,15813-15814,15816-15818,15820-15849,15851-15887,15889-15900,15902-16046,16048-16051,16053,16055,16057-16063,16065-16071,16073-16077,16079-16081,16083-16099,16101-16130,16132-16140,16142,16144-16212,16214-16219,16221,16223-16224,16226,16228-16229,16231,16233,16235,16237,16239-16240,16242,16244-16246,16248,16250-16251,16253-16255,16257-16259,16261,16263,16265,16267,16269-16276,16278,16280-16283,16285,16287-16288,16290,16292-16295,16297-16305,16307-16314,16316-16318,16320-16322,16324
\ No newline at end of property
Modified: branches/Version-2_0-branch/property/inc/class.boworkorder.inc.php
===================================================================
--- branches/Version-2_0-branch/property/inc/class.boworkorder.inc.php  
2017-02-16 17:03:46 UTC (rev 16324)
+++ branches/Version-2_0-branch/property/inc/class.boworkorder.inc.php  
2017-02-16 17:04:49 UTC (rev 16325)
@@ -603,6 +603,8 @@
 
                        $events = 
execMethod('property.soevent.read_at_location', $event_criteria);
                        $workorder['event_id'] = $events ? $events[0]['id'] : 
'';
+                       $workorder['origin_data'] = 
$this->interlink->get_relation('property', '.project.workorder', $workorder_id, 
'origin');
+                       $workorder['target'] = 
$this->interlink->get_relation('property', '.project.workorder', $workorder_id, 
'target');
 
                        return $workorder;
                }

Modified: branches/Version-2_0-branch/property/inc/class.soworkorder.inc.php
===================================================================
--- branches/Version-2_0-branch/property/inc/class.soworkorder.inc.php  
2017-02-16 17:03:46 UTC (rev 16324)
+++ branches/Version-2_0-branch/property/inc/class.soworkorder.inc.php  
2017-02-16 17:04:49 UTC (rev 16325)
@@ -1339,7 +1339,7 @@
                          $this->db->query("UPDATE fm_project set charge_tenant 
= 1 WHERE id =" . $workorder['project_id']);
                          }
                         */
-
+/*
                        if (is_array($workorder['origin']))
                        {
                                if ($workorder['origin'][0]['data'][0]['id'])
@@ -1356,8 +1356,25 @@
                                        $this->interlink->add($interlink_data, 
$this->db);
                                }
                        }
+*/
+                       if (isset($workorder['origin']))
+                       {
+                               if ($workorder['origin_id'])
+                               {
+                                       $interlink_data = array
+                                               (
+                                               'location1_id' => 
$GLOBALS['phpgw']->locations->get_id('property', $workorder['origin']),
+                                               'location1_item_id' => 
$workorder['origin_id'],
+                                               'location2_id' => 
$GLOBALS['phpgw']->locations->get_id('property', '.project.workorder'),
+                                               'location2_item_id' => $id,
+                                               'account_id' => $this->account
+                                       );
 
+                                       $this->interlink->add($interlink_data, 
$this->db);
+                               }
+                       }
 
+
                        if ($this->db->transaction_commit())
                        {
                                $this->increment_workorder_id();

Modified: branches/Version-2_0-branch/property/inc/class.uiworkorder.inc.php
===================================================================
--- branches/Version-2_0-branch/property/inc/class.uiworkorder.inc.php  
2017-02-16 17:03:46 UTC (rev 16324)
+++ branches/Version-2_0-branch/property/inc/class.uiworkorder.inc.php  
2017-02-16 17:04:49 UTC (rev 16325)
@@ -647,66 +647,7 @@
                                $values['p'][$p_entity_id]['p_num'] = 
phpgw::get_var('p_num');
                        }
 
-                       if ($origin == '.ticket' && $origin_id && 
!$values['descr'])
-                       {
-                               $boticket = CreateObject('property.botts');
-                               $ticket = $boticket->read_single($origin_id);
-                               $values['descr'] = $ticket['details'];
-                               $values['title'] = $ticket['subject'] ? 
$ticket['subject'] : $ticket['category_name'];
-                               $ticket_notes = 
$boticket->read_additional_notes($origin_id);
-                               $i = count($ticket_notes) - 1;
-                               if (isset($ticket_notes[$i]['value_note']) && 
$ticket_notes[$i]['value_note'])
-                               {
-                                       $values['descr'] .= ": " . 
$ticket_notes[$i]['value_note'];
-                               }
 
-                               $values['location_data'] = 
$ticket['location_data'];
-                       }
-                       else if (preg_match("/(^.entity.|^.catch.)/i", $origin) 
&& $origin_id)
-                       {
-                               $_origin = explode('.', $origin);
-                               $_boentity = CreateObject('property.boentity', 
false, $_origin[1], $_origin[2], $_origin[3]);
-                               $_entity = $_boentity->read_single(array(
-                                       'entity_id' => $_origin[2],
-                                       'cat_id' => $_origin[3],
-                                       'id' => $origin_id,
-                                       'view' => true));
-                               $values['location_data'] = 
$_entity['location_data'];
-                               unset($_origin);
-                               unset($_boentity);
-                               unset($_entity);
-                       }
-                       else if ($origin == '.project.request' && $origin_id)
-                       {
-                               $_borequest = 
CreateObject('property.borequest', false);
-                               $_request = 
$_borequest->read_single($origin_id, array(), true);
-                               $values['descr'] = $_request['descr'];
-                               $values['title'] = $_request['title'];
-                               $values['location_data'] = 
$_request['location_data'];
-                               unset($_origin);
-                               unset($_borequest);
-                               unset($_request);
-                       }
-
-                       if (isset($values['origin']) && $values['origin'])
-                       {
-                               $origin = $values['origin'];
-                               $origin_id = $values['origin_id'];
-                       }
-
-                       $interlink = & $this->bo->interlink;
-                       if (isset($origin) && $origin)
-                       {
-                               $values['origin_data'][0]['location'] = $origin;
-                               $values['origin_data'][0]['descr'] = 
$interlink->get_location_name($origin);
-                               $values['origin_data'][0]['data'][] = array
-                                       (
-                                       'id' => $origin_id,
-                                       'link' => 
$interlink->get_relation_link(array(
-                                               'location' => $origin), 
$origin_id),
-                               );
-                       }
-
                        if ($project_id && !isset($values['project_id']))
                        {
                                $values['project_id'] = $project_id;
@@ -1364,6 +1305,66 @@
                        $origin = phpgw::get_var('origin');
                        $origin_id = phpgw::get_var('origin_id', 'int');
 
+                       if ($origin == '.ticket' && $origin_id && 
!$values['descr'])
+                       {
+                               $boticket = CreateObject('property.botts');
+                               $ticket = $boticket->read_single($origin_id);
+                               $values['descr'] = $ticket['details'];
+                               $values['title'] = $ticket['subject'] ? 
$ticket['subject'] : $ticket['category_name'];
+                               $ticket_notes = 
$boticket->read_additional_notes($origin_id);
+                               $i = count($ticket_notes) - 1;
+                               if (isset($ticket_notes[$i]['value_note']) && 
$ticket_notes[$i]['value_note'])
+                               {
+                                       $values['descr'] .= ": " . 
$ticket_notes[$i]['value_note'];
+                               }
+
+                               $values['location_data'] = 
$ticket['location_data'];
+                       }
+                       else if (preg_match("/(^.entity.|^.catch.)/i", $origin) 
&& $origin_id)
+                       {
+                               $_origin = explode('.', $origin);
+                               $_boentity = CreateObject('property.boentity', 
false, $_origin[1], $_origin[2], $_origin[3]);
+                               $_entity = $_boentity->read_single(array(
+                                       'entity_id' => $_origin[2],
+                                       'cat_id' => $_origin[3],
+                                       'id' => $origin_id,
+                                       'view' => true));
+                               $values['location_data'] = 
$_entity['location_data'];
+                               unset($_origin);
+                               unset($_boentity);
+                               unset($_entity);
+                       }
+                       else if ($origin == '.project.request' && $origin_id)
+                       {
+                               $_borequest = 
CreateObject('property.borequest', false);
+                               $_request = 
$_borequest->read_single($origin_id, array(), true);
+                               $values['descr'] = $_request['descr'];
+                               $values['title'] = $_request['title'];
+                               $values['location_data'] = 
$_request['location_data'];
+                               unset($_origin);
+                               unset($_borequest);
+                               unset($_request);
+                       }
+
+                       if (isset($values['origin']) && $values['origin'])
+                       {
+                               $origin = $values['origin'];
+                               $origin_id = $values['origin_id'];
+                       }
+
+                       $interlink = & $this->bo->interlink;
+                       if (isset($origin) && $origin)
+                       {
+                               $values['origin_data'][0]['location'] = $origin;
+                               $values['origin_data'][0]['descr'] = 
$interlink->get_location_name($origin);
+                               $values['origin_data'][0]['data'][] = array
+                                       (
+                                       'id' => $origin_id,
+                                       'link' => 
$interlink->get_relation_link(array(
+                                               'location' => $origin), 
$origin_id),
+                               );
+                       }
+
                        if ($project_id && !isset($values['project_id']))
                        {
                                $values['project_id'] = $project_id;
@@ -1521,7 +1522,7 @@
                                $location_template_type = 'form';
                                $_location_data = array();
 
-                               if (!$values['location_data'] && $origin_id)
+                               if (!$values['location_data'] && 
($values['location_code'] || $values['location']))
                                {
                                        $location_code = 
isset($values['location_code']) && $values['location_code'] ? 
$values['location_code'] : implode("-", $values['location']);
                                        $values['extra']['view'] = true;
@@ -2368,6 +2369,45 @@
                                $accumulated_budget_amount = 
$this->bo->get_accumulated_budget_amount($values['project_id']);
                        }
 
+                       $_origin = array();
+                       if (isset($values['origin_data']) && 
$values['origin_data'])
+                       {
+                               foreach ($values['origin_data'] as $__origin)
+                               {
+                                       foreach ($__origin['data'] as 
$_origin_data)
+                                       {
+                                               $_origin[] = array
+                                                       (
+                                                       'url' => "<a 
href='{$_origin_data['link']}'>{$_origin_data['id']} </a>",
+                                                       'type' => 
$__origin['descr'],
+                                                       'title' => 
$_origin_data['title'],
+                                                       'status' => 
$_origin_data['statustext'],
+                                               );
+                                       }
+                               }
+                       }
+
+                       $origin_def = array
+                               (
+                               array('key' => 'url', 'label' => lang('id'), 
'sortable' => true),
+                               array('key' => 'type', 'label' => lang('type'), 
'sortable' => true),
+                               array('key' => 'title', 'label' => 
lang('title'), 'sortable' => false),
+                               array('key' => 'status', 'label' => 
lang('status'), 'sortable' => false)
+                       );
+
+                       $datatable_def[] = array
+                               (
+                               'container' => 'datatable-container_7',
+                               'requestUrl' => "''",
+                               'data' => json_encode($_origin),
+                               'ColumnDefs' => $origin_def,
+                               'config' => array(
+                                       array('disableFilter' => true),
+                                       array('disablePagination' => true)
+                               )
+                       );
+
+
                        $data = array(
                                'datatable_def' => $datatable_def,
                                'periodization_data' => $periodization_data,

Modified: branches/Version-2_0-branch/property/templates/base/workorder.xsl
===================================================================
--- branches/Version-2_0-branch/property/templates/base/workorder.xsl   
2017-02-16 17:03:46 UTC (rev 16324)
+++ branches/Version-2_0-branch/property/templates/base/workorder.xsl   
2017-02-16 17:04:49 UTC (rev 16325)
@@ -345,25 +345,6 @@
                                                </label>
                                                <xsl:value-of 
select="value_other_branch"/>
                                        </div>
-                                       <xsl:for-each select="value_origin">
-                                               <div class="pure-control-group">
-                                                       <label for="name">
-                                                               <xsl:value-of 
select="descr"/>
-                                                       </label>
-                                                       <table>
-                                                               <xsl:for-each 
select="data">
-                                                                       <tr>
-                                                                               
<td class="th_text" align="left">
-                                                                               
        <a href="{link}" title="{statustext}">
-                                                                               
                <xsl:value-of select="id"/>
-                                                                               
        </a>
-                                                                               
        <xsl:text> </xsl:text>
-                                                                               
</td>
-                                                                       </tr>
-                                                               </xsl:for-each>
-                                                       </table>
-                                               </div>
-                                       </xsl:for-each>
                                        <xsl:choose>
                                                <xsl:when 
test="value_workorder_id!=''">
                                                        <div 
class="pure-control-group">
@@ -386,7 +367,47 @@
                                                                        </div>
                                                                </xsl:when>
                                                        </xsl:choose>
+                                                       <div 
class="pure-control-group">
+                                                               <label 
for="name">
+                                                                       
<xsl:value-of select="php:function('lang', 'related')"/>
+                                                               </label>
+                                                               <div 
class="pure-custom">
+                                                                       
<xsl:for-each select="datatable_def">
+                                                                               
<xsl:if test="container = 'datatable-container_7'">
+                                                                               
        <xsl:call-template name="table_setup">
+                                                                               
                <xsl:with-param name="container" select ='container'/>
+                                                                               
                <xsl:with-param name="requestUrl" select ='requestUrl' />
+                                                                               
                <xsl:with-param name="ColumnDefs" select ='ColumnDefs' />
+                                                                               
                <xsl:with-param name="tabletools" select ='tabletools' />
+                                                                               
                <xsl:with-param name="data" select ='data' />
+                                                                               
                <xsl:with-param name="config" select ='config' />
+                                                                               
        </xsl:call-template>
+                                                                               
</xsl:if>
+                                                                       
</xsl:for-each>
+                                                               </div>
+                                                       </div>
                                                </xsl:when>
+                                               <xsl:otherwise>
+                                                       <xsl:for-each 
select="value_origin">
+                                                               <div 
class="pure-control-group">
+                                                                       <label 
for="name">
+                                                                               
<xsl:value-of select="descr"/>
+                                                                       </label>
+                                                                       <table 
class="pure-custom">
+                                                                               
<xsl:for-each select="data">
+                                                                               
        <tr>
+                                                                               
                <td class="th_text" align="left">
+                                                                               
                        <a href="{link}" title="{statustext}">
+                                                                               
                                <xsl:value-of select="id"/>
+                                                                               
                        </a>
+                                                                               
                        <xsl:text> </xsl:text>
+                                                                               
                </td>
+                                                                               
        </tr>
+                                                                               
</xsl:for-each>
+                                                                       </table>
+                                                               </div>
+                                                       </xsl:for-each>
+                                               </xsl:otherwise>
                                        </xsl:choose>
                                        <div class="pure-control-group">
                                                <label for="name">




reply via email to

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