%PDF- %PDF-
| Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/calendar/widgets/ |
| Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/calendar/widgets/ParticipantAddForm.php |
<?php
/**
* @link https://www.humhub.org/
* @copyright Copyright (c) 2022 HumHub GmbH & Co. KG
* @license https://www.humhub.com/licences
*/
namespace humhub\modules\calendar\widgets;
use humhub\components\Widget;
use humhub\modules\calendar\models\CalendarEntryParticipant;
use humhub\modules\calendar\models\forms\CalendarEntryParticipationForm;
use humhub\modules\space\models\Space;
use humhub\modules\ui\form\widgets\ActiveForm;
use Yii;
/**
* ParticipantAddForm to display a form to add participants to the Calendar entry (without invitation)
*/
class ParticipantAddForm extends Widget
{
/**
* @var ActiveForm
*/
public $form;
/**
* @var CalendarEntryParticipationForm
*/
public $model;
/**
* @var string
*/
public $state;
/**
* @inheritdoc
*/
public function init()
{
parent::init();
if ($this->state === null) {
$this->state = Yii::$app->request->get('state', Yii::$app->request->post('state', CalendarEntryParticipant::PARTICIPATION_STATE_INVITED));
}
$this->model->newParticipantStatus = $this->state;
$this->model->newForceStatus = CalendarEntryParticipant::PARTICIPATION_STATE_INVITED;
}
/**
* @inheritdoc
*/
public function run()
{
if (!$this->model->entry->content->canEdit()) {
return '';
}
if (($this->model->entry->content->container instanceof Space) && !$this->model->entry->content->isPublic()) {
// Search only members for private Space
$searchUsersUrl = $this->model->entry->content->container->createUrl('/space/membership/search');
} else {
$searchUsersUrl = null;
}
return $this->render('participantAddForm', [
'form' => $this->form,
'model' => $this->model,
'searchUsersUrl' => $searchUsersUrl,
'addParticipantsUrl' => $this->model->entry->content->container->createUrl('/calendar/entry/add-participants'),
'statuses' => ParticipantItem::getStatuses($this->model->entry, CalendarEntryParticipant::PARTICIPATION_STATE_MAYBE)
]);
}
}