trait QuickLogTrait in farmOS 2.x
Provides methods for working with logs.
Hierarchy
- trait \Drupal\farm_quick\Traits\QuickLogTrait uses MessengerTrait, StringTranslationTrait, QuickQuantityTrait
1 file declares its use of QuickLogTrait
File
- modules/
core/ quick/ src/ Traits/ QuickLogTrait.php, line 12
Namespace
Drupal\farm_quick\TraitsView source
trait QuickLogTrait {
use MessengerTrait;
use StringTranslationTrait;
use QuickQuantityTrait;
/**
* Get the plugin ID.
*
* This must be implemented by the quick form class that uses this trait.
*
* @return string
* The quick form ID.
*/
protected abstract function getId();
/**
* Create a log.
*
* @param array $values
* An array of values to initialize the log with.
*
* @return \Drupal\log\Entity\LogInterface
* The log entity that was created.
*/
public function createLog(array $values = []) {
// Start a new log entity with the provided values.
/** @var \Drupal\log\Entity\LogInterface $log */
$log = Log::create($values);
// If quantity measurements are provided, create quantity entities and
// reference them from the log.
if (!empty($values['quantity'])) {
foreach ($values['quantity'] as $qty) {
$log->quantity[] = $this
->createQuantity($qty);
}
}
// If not specified, set the log's status to "done".
if (!isset($values['status'])) {
$log->status = 'done';
}
// Track which quick form created the entity.
$log->quick[] = $this
->getId();
// Save the log.
$log
->save();
// Display a message with a link to the log.
$message = $this
->t('Log created: <a href=":url">@name</a>', [
':url' => $log
->toUrl()
->toString(),
'@name' => $log
->label(),
]);
$this->messenger
->addStatus($message);
// Return the log entity.
return $log;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
MessengerTrait:: |
protected | property | The messenger. | 27 |
MessengerTrait:: |
public | function | Gets the messenger. | 27 |
MessengerTrait:: |
public | function | Sets the messenger. | |
QuickLogTrait:: |
public | function | Create a log. | |
QuickLogTrait:: |
abstract protected | function | Get the plugin ID. | |
QuickQuantityTrait:: |
public | function | Create a quantity. | |
QuickTermTrait:: |
public | function | Given a term name, create or load a matching term entity. | |
QuickTermTrait:: |
public | function | Create a term. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 4 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. |