<?php

/* 
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

// 1 ... poradce chovu
// 2 ... vedouci sekce
// 3 ... ze schuzi


namespace AdminModule;
use \Nette\Application\UI\Form;
use \Nette\Utils\Image;



 
class ZpravyPresenter extends BasePresenter {
    
    private $zpravyModel;
   
   
 
    public function __construct(\ZpravyModel $zpravyModel) {
    $this->zpravyModel = $zpravyModel;
    }
    
   
    
    public function renderPoradce() {
      
       $this->template->zpravy = $this->zpravyModel->getZpravyByTyp(1); 
       
        
 }
 
  
    public function renderVedouci() {
        $this->template->zpravy = $this->zpravyModel->getZpravyByTyp(2);
       
    }
    
    public function renderSchuze() {
       $this->template->zpravy = $this->zpravyModel->getZpravyByTyp(3);
       
    }
    
    public function renderAdd($typ) {
      $this->template->typ = $typ;
       
    }
    
    public function renderEdit($id) {
      $this->template->zprava = $this->zpravyModel->getZpravaById($id);
       
    }
    
   
    
    
    
    protected function createComponentAddZpravaForm() {
    $form = new form();
    
    $form->addText("nazev","Název*:")->setRequired("Zadejte název!");
    
    $form->addTextArea("text","Text*:");//->setRequired("Zadejte text!");
    $form->addSubmit("send", "Uložit");
    $form->onSuccess[] = $this->addZpravaFormSucceeded;
    return $form;
}

public function addZpravaFormSucceeded(Form $form) {
    if (!$this->getUser()->isLoggedIn()) {
        $this->error('Pro vytvoření, nebo editování příspěvku se musíte přihlásit.');
    }
    $values = $form->getValues();
    $values->typ = $this->getParam('typ');
    $this->zpravyModel->addZprava($values);
    if ($values->typ == 1) {
        $this->flashMessage('Zpráva byla přidána', 'info');
        $this->redirect("Zpravy:poradce"); 
    
    } else if ($values->typ == 2) {
        $this->flashMessage('Zpráva byla přidána', 'info');
        $this->redirect("Zpravy:vedouci"); 
    } else if ($values->typ == 3) {
        $this->flashMessage('Zápis byl přidán', 'info');
        $this->redirect("Zpravy:schuze"); 
    }
}

 protected function createComponentEditZpravaForm() {
    $form = new form();
    $zprava = $this->zpravyModel->getZpravaById($this->getParam('id'));
    
    $form->addText("nazev","Název*:")->setDefaultValue($zprava->nazev)->setRequired("Zadejte název!");
    $form->addTextArea("text","Text*:")->setDefaultValue($zprava->text)->setRequired("Zadejte text!");
    $form->addHidden("id")
        ->setDefaultValue($this->getParam('id'));
    $form->addSubmit("send", "Uložit");
    $form->onSuccess[] = $this->editZpravaFormSucceeded;
    return $form;
}

public function editZpravaFormSucceeded(Form $form) {
    if (!$this->getUser()->isLoggedIn()) {
        $this->error('Pro vytvoření, nebo editování příspěvku se musíte přihlásit.');
    }
    $values = $form->getValues();
    
    $this->zpravyModel->updateZprava($values->id, $values);
    
    $this->flashMessage('Zpráva byla upravena', 'info');
    $this->redirect("Zpravy:detail", $values->id);
}

  



public function handleDeleteZprava($id) {
    if (!$this->getUser()->isLoggedIn()) {
        $this->error('Pro vytvoření, nebo editování příspěvku se musíte přihlásit.');
    }
  
    $this->zpravyModel->deleteZprava($id);
    $this->flashMessage('Zpráva byla smazána', 'info');
    $this->redirect('this');
}

    
}


