first commit
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
namespace WPML\TM\Troubleshooting\SynchronizeSourceIdOfATEJobs;
|
||||
|
||||
use WPML\TM\Upgrade\Commands\SynchronizeSourceIdOfATEJobs\Command;
|
||||
use WPML\Upgrade\CommandsStatus;
|
||||
|
||||
class TriggerSynchronization implements \IWPML_Backend_Action, \IWPML_DIC_Action {
|
||||
|
||||
const ACTION_ID = 'wpml-tm-ate-source-id-migration';
|
||||
|
||||
/** @var CommandsStatus */
|
||||
private $commandStatus;
|
||||
|
||||
/**
|
||||
* @param CommandsStatus $commandStatus
|
||||
*/
|
||||
public function __construct( CommandsStatus $commandStatus ) {
|
||||
$this->commandStatus = $commandStatus;
|
||||
}
|
||||
|
||||
|
||||
public function add_hooks() {
|
||||
add_action( 'wpml_troubleshooting_after_fix_element_type_collation', [ $this, 'displayButton' ] );
|
||||
add_action( 'admin_enqueue_scripts', array( $this, 'enqueueScripts' ) );
|
||||
add_action( 'wp_ajax_' . self::ACTION_ID, array( $this, 'clearExecutedStateToForceUpgrade' ) );
|
||||
}
|
||||
|
||||
public function displayButton() {
|
||||
?>
|
||||
|
||||
<p>
|
||||
<input id="wpml_tm_ate_source_id_migration_btn"
|
||||
type="button"
|
||||
class="button-secondary"
|
||||
value="<?php esc_attr_e( 'Synchronize local job ids with ATE jobs', 'wpml-translation-manager' ); ?>"
|
||||
data-action="<?php echo self::ACTION_ID; ?>"
|
||||
data-nonce="<?php echo wp_create_nonce( self::ACTION_ID ); ?>"
|
||||
/>
|
||||
<br/>
|
||||
|
||||
<small style="margin-left:10px;">
|
||||
<?php
|
||||
esc_attr_e(
|
||||
'Synchronize local job ids with their ATE counterparts. You will have to refresh a few times any admin page to accomplish the process.',
|
||||
'wpml-translation-manager'
|
||||
)
|
||||
?>
|
||||
</small>
|
||||
</p>
|
||||
<?php
|
||||
}
|
||||
|
||||
public function enqueueScripts( $hook ) {
|
||||
if ( WPML_PLUGIN_FOLDER . '/menu/troubleshooting.php' === $hook ) {
|
||||
wp_enqueue_script(
|
||||
self::ACTION_ID,
|
||||
WPML_TM_URL . '/res/js/ate-jobs-migration.js',
|
||||
[ 'jquery' ],
|
||||
WPML_TM_VERSION
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
public function clearExecutedStateToForceUpgrade() {
|
||||
$this->commandStatus->markAsExecuted( Command::class, false );
|
||||
wp_send_json_success();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user