Missing argument 2 při zpracování formuláře
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- AdamVyborny
- Člen | 36
Zdravím, hlásí mi to po odeslání formuláře
Missing argument 2 for App\Presenters\SettingBuildingsPresenter::addOfficeFormSucceeded()
Formulář v presenteru:
protected function createComponentAddOfficeForm()
{
$building = array();
$buildings_arr = $this->buildings->getAll()->fetchAll();
foreach ($buildings_arr AS $key => $value) {
$building[$value['id_building']] = $value['name'] . " - " . $value['building_name'];
}
$office_types = array(1 => "Kancelář", 2 => "Zasedací místnost");
$users_arr = $this->getUser()->getUsers($this->user->identity->data['schema']);
$users = array();
foreach ($users_arr AS $key => $value) {
$users[$value['id_user']] = $value['firstname'] . " " . $value['secondname'];
}
$form = new Form;
$form->setRenderer(new Bs3FormRenderer());
$form->addSelect('building', 'Budova:', $building)
->setPrompt('Vyberte budovu')
->setRequired('Prosím vyplňte pole budova');
$form->addText('officeNumber', 'Označení místnosti:')
->addRule(Form::FILLED, 'Označení místnosti nesmí být prázdné')
->addRule(Form::MAX_LENGTH, 'Označení může obsahovat maximálně %d znaků', 4)
->setRequired('Prosím vyplňte pole označení místnosti');
$form->addText('maxCapacity', 'Maximální kapacita:')
->setType('number')
->addRule(Form::FILLED, 'Kapacita místnosti nesmí být prázdná')
->addRule(Form::MAX_LENGTH, 'Kapacita může obsahovat maximálně %d znaků', 4)
->setRequired('Prosím vyplňte pole maximální kapacita');
$form->addSelect('floornumber', 'Podlaží:')
->setPrompt('Nejdříve vyberte jednu budovu')
->setRequired('Prosím vyplňte pole podlaží');
$form->addSelect('type', 'Typ:', $office_types)
->setPrompt('Vyberte typ místnosti')
->setRequired('Prosím vyplňte pole typ místnosti');
$form->addCheckbox('reservation', 'Možnost rezervace')
->setAttribute('id', 'reservation');
$form->addSelect('roomManager', 'Správce místnosti/klíčů:', $users)
->setAttribute('id', 'roomManager')
->setAttribute('style', 'display: none;')
->getLabelPrototype()
->id = 'roomManagerLabel';
$form->addSubmit('send', 'Přidat místnost');
$form->onSubmit[] = array($this, 'addOfficeFormSucceeded');
return $form;
}
{form addOfficeForm}
{label building /} {input building}
{label officeNumber /} {input officeNumber}
{label maxCapacity /} {input maxCapacity}
{snippet secondSnippet}
{label floornumber /} {input floornumber}
{/snippet}
{label type /} {input type}
{label reservation /} {input reservation}
<br/>
{label roomManager /} {input roomManager}
<br/>
{input send}
{/form}
<script>
{include #jsCallback, input => building, link => firstChange}
</script>
a zpracování formu v presnteru:
public function addOfficeFormSucceeded($form, $values)
{
if ($this->acl->isAllowed('configuration', 'add')) {
$data = array(
'id_building' => $values->building,
'roomno' => $values->officeNumber,
'maxcapacity' => $values->maxCapacity,
'storey' => $values->floornumber,
'type' => $values->type,
'bookable' => $values->reservation,
'bookperson' => $values->roomManager,
'createby' => $this->user->id
);
$stmt = $this->buildings->addOffice($data);
if ($stmt) {
$this->flashMessage('Kancelář úspěšně přidána', 'success');
} else {
$this->flashMessage('Chyba u přidání kanceláře', 'danger');
}
} else {
$this->flashMessage('Přidání konfigurace není na tomto účtu povoleno', 'danger');
}
}
- AdamVyborny
- Člen | 36
CZechBoY napsal(a):
nějaká souvislost s
https://forum.nette.org/…romsucceeded
?
Sorry, nevěděl jsem že už kolega postoval. Mažu
EDIT: jde to smazat?
Editoval AdamVyborny (17. 6. 2016 11:24)