fortnox-8.x-1.x-dev/src/Plugin/Resource/AssetTypesResource.php

src/Plugin/Resource/AssetTypesResource.php
<?php

namespace Drupal\fortnox\Plugin\Resource;

use Drupal\Core\Url;

/**
 * Defines a plugin used to interact with fortnox asset types resources.
 *
 * @Resource(
 *   id = "asset-types",
 *   label = @Translation("Asset Types Resource")
 * )
 */
class AssetTypesResource extends SupplierInvoicesResource {

  /**
   * {@inheritdoc}
   */
  protected $resourceIDPlural = 'Types';

  /**
   * {@inheritdoc}
   */
  protected $url = 'assets/types';

  /**
   * {@inheritdoc}
   */
  public $resourceIDSingular = 'Types';

  /**
   * {@inheritdoc}
   */
  protected $resourceIDPropertyName = 'Id';

  /**
   * {@inheritdoc}
   */
  public function getMetaInformation(array &$response) {
    $meta = [];
    if (isset($response[$this->resourceIDPlural][0]['MetaInformation']['@TotalResources'])) {
      $meta = $response[$this->resourceIDPlural][0]['MetaInformation']['@TotalResources'];
      // Remove the MetaInformation from the response.
      unset($response[$this->resourceIDPlural][0]);
    }

    return $meta;
  }

  /**
   * {@inheritdoc}
   */
  public function getResponse(array &$build, $id = NULL) {
    $response = parent::getResponse($build);

    return $response;
  }

  /**
   * {@inheritdoc}
   */
  protected function getLinks($resourceId, $param1 = '', $param2 = '') {
    $links = parent::getLinks($resourceId, $param1, $param2);
    $links[] = [
      'url' => Url::fromRoute('fortnox.delete_resource', ['resource' => $this->getPluginId(), 'id' => $resourceId]),
      'title' => $this->t('Delete'),
    ];

    return $links;
  }

  /**
   * {@inheritdoc}
   */
  public static function getDisabledFields() {
    return [
      '@url',
      'Id',
      'InUse',
      'AccountAsset',
      'AccountValueLoss',
      'AccountSaleLoss',
      'AccountSaleWin',
      'AccountRevaluation',
      'AccountWriteDownAck',
      'AccountWriteDown',
      'AccountDepreciation',
    ];
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc