?
avatar roland-d
roland-d
31 Mar 2016

Steps to reproduce the issue

  1. Edit a menu item
  2. Do not touch the page until your session has expired (it may be useful to set the session to 1 minute)
  3. Click on the Save & Close button
  4. You now get the login page since session expired
  5. Login
  6. Login again as needed
  7. You now get a Fatal error: Call to a member function getGroup() on a non-object in D:\wamp\www\joomla-cms\layouts\joomla\searchtools\default\bar.php on line 28

Alternatively you can use a direct URL after being logged in to the administrator section:
http://domain/administrator/index.php?option=com_menus&layout=edit&id=233

Replace domain with your own domain and id, with an existing ID.

Expected result

That I get the page to edit the menu item.

Actual result

A page with notices and a fatal error. Only way to continue is to manually modify the URL to go to the homepage a the backend and then a navigate to the menu item and edit it.

image

System information (as much as possible)

Joomla! 3.5.1-rc Release Candidate [ Unicorn ] 28-March-2016 22:30 GMT
PHP 5.5.14 / PHP 7.0.4

Additional comments

Can anyone else confirm this?

Votes

# of Users Experiencing Issue
1/1
Average Importance Score
3.00

avatar roland-d roland-d - open - 31 Mar 2016
avatar andrepereiradasilva
andrepereiradasilva - comment - 31 Mar 2016

isn't this something like this one? #9371

avatar roland-d
roland-d - comment - 31 Mar 2016

@andrepereiradasilva Sounds similar huh but in the other PR you don't even have to wait till the session is expired. Now this gave me another idea, using this URL directly also generates the fatal error:
http://localhost/joomla-cms/administrator/index.php?option=com_menus&layout=edit&id=233

So yeah I would say it is basically the same but only for menus.

avatar javigomez
javigomez - comment - 31 Mar 2016

Tested, I was able to reproduce.


This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/9687.

avatar brianteeman brianteeman - change - 31 Mar 2016
Status New Confirmed
avatar infograf768
infograf768 - comment - 1 Apr 2016

I have a solution that would have to be done all over as I also tested it with Content Languages where the redirection after logging was not creating Errors but was to the installed languages Manager.

Change in ROOT/administrator/components/com_menus/views/item/tmpl/edit.php
<form action="<?php echo JRoute::_('index.php?option=com_menus&layout=edit&id=' . (int) $this->item->id); ?>" method="post" name="adminForm" id="item-form" class="form-validate">

to

<form action="<?php echo JRoute::_('index.php?option=com_menus&view=item&layout=edit&id=' . (int) $this->item->id); ?>" method="post" name="adminForm" id="item-form" class="form-validate">

i.e. add &view=item

For Content languages:
from
<form action="<?php echo JRoute::_('index.php?option=com_languages&layout=edit&lang_id=' . (int) $this->item->lang_id); ?>" method="post" name="adminForm" id="language-form" class="form-validate form-horizontal">
to
<form action="<?php echo JRoute::_('index.php?option=com_languages&view=language&layout=edit&lang_id=' . (int) $this->item->lang_id); ?>" method="post" name="adminForm" id="language-form" class="form-validate form-horizontal">

i.e. add &view=language

We can do this all over core when necessary, but what about 3rd party?

avatar infograf768
infograf768 - comment - 1 Apr 2016
avatar brianteeman
brianteeman - comment - 1 Apr 2016

Closed

avatar brianteeman brianteeman - change - 1 Apr 2016
Status Confirmed Closed
Closed_Date 0000-00-00 00:00:00 2016-04-01 13:17:19
Closed_By brianteeman
avatar brianteeman brianteeman - close - 1 Apr 2016

Add a Comment

Login with GitHub to post a comment