[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [16324] fix origin at workorder
From: |
sigurdne |
Subject: |
[Fmsystem-commits] [16324] fix origin at workorder |
Date: |
Thu, 16 Feb 2017 12:03:46 -0500 (EST) |
Revision: 16324
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=16324
Author: sigurdne
Date: 2017-02-16 12:03:46 -0500 (Thu, 16 Feb 2017)
Log Message:
-----------
fix origin at workorder
Modified Paths:
--------------
trunk/property/inc/class.boworkorder.inc.php
trunk/property/inc/class.soworkorder.inc.php
trunk/property/inc/class.uiworkorder.inc.php
trunk/property/templates/base/workorder.xsl
Modified: trunk/property/inc/class.boworkorder.inc.php
===================================================================
--- trunk/property/inc/class.boworkorder.inc.php 2017-02-16 16:03:45 UTC
(rev 16323)
+++ trunk/property/inc/class.boworkorder.inc.php 2017-02-16 17:03:46 UTC
(rev 16324)
@@ -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: trunk/property/inc/class.soworkorder.inc.php
===================================================================
--- trunk/property/inc/class.soworkorder.inc.php 2017-02-16 16:03:45 UTC
(rev 16323)
+++ trunk/property/inc/class.soworkorder.inc.php 2017-02-16 17:03:46 UTC
(rev 16324)
@@ -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: trunk/property/inc/class.uiworkorder.inc.php
===================================================================
--- trunk/property/inc/class.uiworkorder.inc.php 2017-02-16 16:03:45 UTC
(rev 16323)
+++ trunk/property/inc/class.uiworkorder.inc.php 2017-02-16 17:03:46 UTC
(rev 16324)
@@ -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: trunk/property/templates/base/workorder.xsl
===================================================================
--- trunk/property/templates/base/workorder.xsl 2017-02-16 16:03:45 UTC (rev
16323)
+++ trunk/property/templates/base/workorder.xsl 2017-02-16 17:03:46 UTC (rev
16324)
@@ -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">
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [16324] fix origin at workorder,
sigurdne <=