for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* @copyright Copyright (c) Flipbox Digital Limited
* @license https://flipboxfactory.com/software/hubspot/license
* @link https://www.flipboxfactory.com/software/hubspot/
*/
namespace flipbox\craft\hubspot\fields\actions;
use craft\base\ElementInterface;
use flipbox\craft\hubspot\fields\ObjectsFieldInterface;
use flipbox\craft\hubspot\HubSpot;
use flipbox\craft\integration\fields\actions\AbstractIntegrationItemAction;
use flipbox\craft\integration\fields\Integrations;
use flipbox\craft\integration\records\IntegrationAssociation;
class SyncItemTo extends AbstractIntegrationItemAction
{
* @inheritdoc
public function getTriggerLabel(): string
return HubSpot::t('Sync To HubSpot');
}
public function getConfirmationMessage()
return HubSpot::t("Performing a sync will transmit any unsaved data. Please confirm to continue.");
* @throws \Throwable
public function performAction(Integrations $field, ElementInterface $element, IntegrationAssociation $record): bool
if (!$field instanceof ObjectsFieldInterface) {
$this->setMessage("Invalid field type.");
return false;
if (!$field->syncToHubSpot($element)) {
$this->setMessage("Failed to sync to HubSpot " . $field->getObjectLabel());
$this->setMessage("Sync to HubSpot executed successfully");
return true;