public function __construct(Listing $listing, SharedListingNotification $sharedListingNotification, IItemsTableControlFactory $itemsTableControlFactory, MessagesFacade $messagesFacade, ListingFacade $listingFacade, UserManager $userManager, User $user) { $this->listing = $listing; $this->sharedListingNotification = $sharedListingNotification; $this->itemsTableControlFactory = $itemsTableControlFactory; $this->messagesFacade = $messagesFacade; $this->listingFacade = $listingFacade; $this->userManager = $userManager; $this->user = $user; $this->users = $this->userManager->findAllUsers([$this->user->id]); }
/** * @Actions newMessage */ protected function createComponentNewMessageForm() { $form = new Form(); $form->addText('subject', 'Předmět', 35, 80)->setRequired('Vyplňte prosím předmět zprávy.'); $form->addTextArea('message', 'Zpráva', 50, 12)->setRequired('Vyplňte prosím text zprávy.')->addRule(Form::MAX_LENGTH, 'Zpráva může obsahovat maximálně %d znaků.', 2000); $form->addMultiSelect('receivers', 'Příjemci', $this->userManager->findAllUsers([$this->user->id]), 13)->setRequired('Vyberte alespoň jednoho příjemce.'); $form->addCheckbox('isSystemMessage', 'Odeslat jako systémovou zprávu'); $form->addSubmit('send', 'Odeslat'); $form->getElementPrototype()->id = 'new-message-form'; $form->onSuccess[] = $this->processNewMessageForm; return $form; }