Nenalezení prezenteru ve verzi Nette 2.1dev

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
iskejp
Člen | 41
+
0
-

Zdravím a prosím o pomoc.

Zkouším aplikaci převést z verze Nette 2.0.12 na verzí 2.1dev a pře přepisování jsem narazil na tuto chybovou hlášku:

Nette\Application\BadRequestException #404: Cannot load presenter ‚admin:sign‘, class ‚App\adminModule\signPresenter‘ was not found in… a cesta.

Na uvedení cestě soubory samozřejmě jsou. Vím, že Nette se „orientuje“ podle namespace, které jsem se jal doplňovat, takže současné nastavení je:

namespace App\AdminModule;

use Nette\Application\UI\Form,
        App;

class SingPresenter extends App\BasePresenter
{
        /**
	 * Sign in form component factory.
	 * @return Nette\Application\UI\Form
	 */
	protected function createComponentSignInForm()
	{
            $form = new Form();
            $form->addText('email', 'Email', 30, 20)->setRequired('Please provide a username.');
            $form->addPassword('password', 'Heslo', 30)->setRequired('Please provide a password.');
            $form->addCheckbox('remember', 'Trvale přihlásit na tomto počítači?');
            $form->addSubmit('send', 'Přihlásit se');
            $form->onSuccess[] = callback($this, 'signInFormSubmitted');
            return $form;
	}
//...

Napadlo mě, že by mohl být problém s routou, ale ta je stejná jako byla v předchozí funkční verzi. Kde by mohla být chyba? Další potřebné případně dodám.

Díky za reakci.

enumag
Člen | 2118
+
0
-

Neměla by první písmena modulu a presenteru být velká?

Editoval enumag (18. 10. 2013 22:16)

Quinix
Člen | 108
+
0
-

iskejp napsal(a):

class Si**NG**Presenter extends App\BasePresenter
{

Sign vs. Sing? :-)

enumag
Člen | 2118
+
0
-

@Quinix: lol, nice catch! ;-)

iskejp
Člen | 41
+
0
-

Quinix napsal(a):

iskejp napsal(a):

class Si**NG**Presenter extends App\BasePresenter
{

Sign vs. Sing? :-)

Quinix no tak jo! A já jsem se s tím trápil včera půl dne :o). Díky.

iskejp
Člen | 41
+
0
-

Ahoj,

využiji toto vlákno k ještě další pomoci, abych to moc neroztahoval. Narazil jsem opět při převodu na 2.1dev na tuto chybu:

Exception
DateTime::__construct() expects parameter 1 to be string, object given

Chyba se objevuje při zobrazení v šabloně. Z DB se dostane do funkce objekt DateInterval. Myslím, že by tam měl být něco podobného jako v části s datem, tedy Nette/DateTime. Je to má chyba, nebo je to chyba v nové verzi Nette?

S díky za odpověď.

enumag
Člen | 2118
+
0
-

V NDB se měnilo nějaké chování a pro určité typy sloupců (tuším že typ „time“) se vrací DateInterval místo původního DateTime. Je to jeden z BC breaků který budeš muset nějak vyřešit – nejspíše pracovat rovnou s tím DateInterval objektem a nedělat z toho DateTime.

iskejp
Člen | 41
+
0
-

Díky, prozatím jsem to vyřešil konstrukcí v template.

$item->time->h.":".$item->time->i

Ale mám ještě jednu věc. Právě při této chybě se Laděnka chovala chybně, jelikož se „nedokončila“ a nezobrazil se Debug panel. Vždy jen necelý výpis chyb a prohlížeč hlásil, že stále stahuje data. Jediné co pomohlo byl restart prohlížeče. To jen pro úplnost :o).

enumag napsal(a):

V NDB se měnilo nějaké chování a pro určité typy sloupců (tuším že typ „time“) se vrací DateInterval místo původního DateTime. Je to jeden z BC breaků který budeš muset nějak vyřešit – nejspíše pracovat rovnou s tím DateInterval objektem a nedělat z toho DateTime.

enumag
Člen | 2118
+
0
-

Zajímavé ale to by bylo potřeba nasimulovat…