'can' => 'fluidbook-collection:admin',
]
);
+ $this->addField('status_update_all', Checkbox::class, __('Synchroniser le status et le propriétaire de tous les fluidbooks'), ['default' => false]);
+
$this->addOwnerField();
+
$this->addField('hash', Hidden::class);
$this->addField('visits_counter', Integer::class, __('Compteur de visites'), ['can' => 'fluidbook-collection:admin', 'read_only' => true, 'default' => 0, 'column' => true, 'column_label' => '<i class="las la-chart-area" title="' . __('Compteur de visites du lien de préview') . '"></i>', 'searchLogic' => false]);
$this->addField('section_export', FormBigSection::class, __('Paramètres d\'export'), ['can' => 'fluidbook-collection:admin']);
}
}
- public function getFluidbooksID(){
- $res=[];
- $fluidbooks=$this->publications;
- if(!is_array($fluidbooks)){
- $fluidbooks=json_decode($fluidbooks,true);
+ public function getFluidbooksID()
+ {
+ $res = [];
+ $fluidbooks = $this->publications;
+ if (!is_array($fluidbooks)) {
+ $fluidbooks = json_decode($fluidbooks, true);
}
foreach ($fluidbooks as $fluidbook) {
- $res[]=$fluidbook['fluidbook'];
+ $res[] = $fluidbook['fluidbook'];
}
return array_unique($res);
}
{
parent::setStatus($newStatus);
- foreach ($this->getPageData()->publications as $publication) {
- /** @var FluidbookPublication $fb */
- $fb = FluidbookPublication::withoutGlobalScopes()->find($publication['fluidbook']);
- if (null === $fb) {
- continue;
+ if ($this->status_update_all) {
+ foreach ($this->getPageData()->publications as $publication) {
+ /** @var FluidbookPublication $fb */
+ $fb = FluidbookPublication::withoutGlobalScopes()->find($publication['fluidbook']);
+ if (null === $fb) {
+ continue;
+ }
+ $fb->setOwner($this->owner);
+ $fb->setStatus($newStatus);
+ $fb->saveQuietlyWithoutFlushingCache();
}
- $fb->setOwner($this->owner);
- $fb->setStatus($newStatus);
- $fb->saveQuietlyWithoutFlushingCache();
+ RefreshUsersTree::dispatchSync();
}
-
- RefreshUsersTree::dispatchSync();
}
public function setOwner($owner)
{
parent::setOwner($owner);
- foreach ($this->getPageData()->publications as $publication) {
- $fb = FluidbookPublication::withoutGlobalScopes()->find($publication['fluidbook']);
- if (null === $fb) {
- continue;
+ if ($this->status_update_all) {
+ foreach ($this->getPageData()->publications as $publication) {
+ $fb = FluidbookPublication::withoutGlobalScopes()->find($publication['fluidbook']);
+ if (null === $fb) {
+ continue;
+ }
+ $fb->setStatus($this->status);
+ $fb->setOwner($owner);
+ $fb->saveQuietlyWithoutFlushingCache();
}
- $fb->setStatus($this->status);
- $fb->setOwner($owner);
- $fb->saveQuietlyWithoutFlushingCache();
- }
- RefreshUsersTree::dispatchSync();
+ RefreshUsersTree::dispatchSync();
+ }
}
/**