function tmgmt_extension_suit_add_to_check_status in TMGMT Extension Suite 8
Same name and namespace in other branches
- 8.2 tmgmt_extension_suit.module \tmgmt_extension_suit_add_to_check_status()
Add items to "check_status" queue.
2 calls to tmgmt_extension_suit_add_to_check_status()
- CheckStatusTest::testCheckStatus in src/
Tests/ CheckStatusTest.php - Test tmgmt_extension_suit_add_to_check_status() function.
- tmgmt_extension_suit_cron in ./
tmgmt_extension_suit.module - Implements hook_cron().
File
- ./
tmgmt_extension_suit.module, line 55
Code
function tmgmt_extension_suit_add_to_check_status() {
// Query returns ids of active/finished jobs with target language != 'und' and
// which contains at least one job_item in state != 'review'. We need to take
// into consideration finished jobs because there might be situations when
// translator/editor has edited strings in a Smartling file and published
// them again. In this case we should pull edits into Drupal.
$query = Drupal::database()
->select('tmgmt_job', 'tj');
$query
->join('tmgmt_job_item', 'tji', 'tji.tjid = tj.tjid');
$query
->fields('tj', [
'tjid',
])
->distinct()
->condition('tj.state', [
JobInterface::STATE_ACTIVE,
JobInterface::STATE_FINISHED,
], 'IN')
->condition('tj.target_language', 'und', '!=')
->condition('tji.state', JobItemInterface::STATE_REVIEW, '!=');
$entities = $query
->execute()
->fetchCol();
foreach ($entities as $eid) {
Drupal::service('tmgmt_extension_suit.utils.queue_unique_item')
->addItem('tmgmt_extension_suit_check_status', [
'id' => (int) $eid,
]);
}
}