Skip to content
Snippets Groups Projects
Commit 31117bd1 authored by mattwire's avatar mattwire
Browse files

Add output links to ManageDataProcessors, fix generation of 'Execute' link if...

Add output links to ManageDataProcessors, fix generation of 'Execute' link if system name has changed
parent 19f45683
No related branches found
No related tags found
No related merge requests found
......@@ -128,20 +128,10 @@ class CRM_Dataprocessor_Form_DataProcessor extends CRM_Core_Form {
$factory = dataprocessor_get_factory();
$types = $factory->getOutputs();
$outputs = civicrm_api3('DataProcessorOutput', 'get', array('data_processor_id' => $this->dataProcessorId, 'options' => array('limit' => 0)));
$outputs = $outputs['values'];
$outputs = CRM_Utils_Array::value('values', $outputs);
foreach($outputs as $idx => $output) {
if (array_key_exists("navigation_id",$output['configuration']))
{
$navigation_result = civicrm_api3('Navigation', 'get', [
'sequential' => 1,
'return' => ["url"],
'id' => $output['configuration']['navigation_id'],
]);
$navigation_url = $navigation_result['values'][0]['url'];
$outputs[$idx]['navigation_url'] = $navigation_url;
}
$outputs[$idx]['navigation_url']
= CRM_Utils_System::url("civicrm/dataprocessor_{$output['type']}/{$this->dataProcessor['name']}", 'reset=1');
if (isset($types[$output['type']])) {
$outputs[$idx]['type_name'] = $types[$output['type']];
} else {
......
......@@ -33,6 +33,14 @@ class CRM_Dataprocessor_Form_ManageDataProcessors extends CRM_Core_Form {
foreach($dataProcessors as $idx => $dataProcessor) {
$dataProcessors[$idx]['status_label'] = CRM_Dataprocessor_Status::statusToLabel($dataProcessor['status']);
$outputs = civicrm_api3('DataProcessorOutput', 'get',['data_processor_id' => $dataProcessor['id'], 'options' => ['limit' => 0]]);
foreach(CRM_Utils_Array::value('values', $outputs) as $outputIndex => $output) {
$dataProcessors[$idx]['navigation'][$outputIndex] = [
'url' => CRM_Utils_System::url("civicrm/dataprocessor_{$output['type']}/{$dataProcessor['name']}", 'reset=1'),
'title' => $output['configuration']['title'],
];
}
}
$this->assign('data_processors', $dataProcessors);
......
......@@ -17,7 +17,7 @@
<br/>
{if isset($output.navigation_url) }
<a href="{crmURL p="`$output.navigation_url`"}">{ts}Execute{/ts}</a>
<a href="{$output.navigation_url}">{ts}Execute{/ts}</a>
{/if}
</td>
</tr>
......
......@@ -63,6 +63,7 @@
<th scope="col" >{ts}Description{/ts}</th>
<th scope="col" >{ts}Is active{/ts}</th>
<th scope="col" >{ts}Status{/ts}</th>
<th scope="col" >{ts}Outputs{/ts}</th>
<th>&nbsp;</th>
</tr>
</thead>
......@@ -87,14 +88,23 @@
</span>
{/if}
</td>
<td class="crm-dataprocessor-navigation">
{if $data_processor.navigation}
{foreach from=$data_processor.navigation item=navigationItem}
<a href="{$navigationItem.url}"
class="action-item crm-hover-button" title="{$navigationItem.title}">{$navigationItem.title}</a>
{/foreach}
{/if}
</td>
<td>
<span>
<span>
<a href="{crmURL p='civicrm/dataprocessor/form/edit' q="reset=1&action=update&id=`$data_processor.id`"}"
class="action-item crm-hover-button" title="{ts}Edit Data Processor{/ts}">{ts}Edit{/ts}</a>
<a href="{crmURL p='civicrm/dataprocessor/form/edit' q="reset=1&action=export&id=`$data_processor.id`"}"
class="action-item crm-hover-button" title="{ts}Export Data Processor{/ts}">{ts}Export{/ts}</a>
<a href="{crmURL p='civicrm/dataprocessor/form/edit' q="reset=1&action=delete&id=`$data_processor.id`"}"
class="action-item crm-hover-button" title="{ts}Delete Data Processor{/ts}">{ts}Delete{/ts}</a></span>
class="action-item crm-hover-button" title="{ts}Delete Data Processor{/ts}">{ts}Delete{/ts}</a>
</span>
</td>
</tr>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment